Help us understand the problem. What is going on with this article?

【Android】複数行の行頭に任意の文字列を追加する

More than 3 years have passed since last update.

コメント引用機能を実装するときに引用文字(">"など)を行頭に追加したいときがあったのでそのコードのメモです。

やりたいこと

これを

foo
bar
baz

↓こうしたい

>foo
>bar
>baz

コード

真面目に頑張るパターン

prefixを各行の行頭付与するメソッド

public String A(String text, String prefix) {
    String prefixedText = "";
    String newLineCode = "\r\n";
    String[] lines = text.split(newLineCode, 0);
    for (String line : lines) {
        prefixedText += prefix + line + newLineCode;
    }
    return prefixedText;
}

呼び出し

String prefixedText = A(text, ">");

(追記)joinを使うパターン

String newLineCode = "\r\n";
String prefixedText = prefix + String.join(newLineCode + prefix, text.split(newLineCode, 0));

@Kilisame さんありがとうございます!

(追記)正規表現を使うパターン

public String A(String text, String prefix) {
    return text.replaceAll("(?m)^.*$", prefix + "$0");
}

@saka1029 さんありがとうございます!

補足

正規表現使えばもっと簡単にできそう。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away