[JAVA] [Android] Fügen Sie am Anfang mehrerer Zeilen eine beliebige Zeichenfolge hinzu

Bei der Implementierung der Funktion zum Kommentieren von Kommentaren wollte ich manchmal ein Anführungszeichen (z. B. ">") am Anfang einer Zeile einfügen, daher ist dies ein Memo dieses Codes.

Was du machen willst

Dies

foo
bar
baz

↓ Ich möchte das tun

>foo
>bar
>baz

Code

Ein Muster, das hart arbeitet

Eine Methode, die dem Anfang jeder Zeile ein Präfix zuweist

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;
}

Anruf

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

(Addition) Muster mit Join

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

Vielen Dank, dass Sie @Kilisame!

(Addition) Muster, die reguläre Ausdrücke verwenden

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

Vielen Dank an saka1029!

Ergänzung

Es scheint einfacher zu sein, reguläre Ausdrücke zu verwenden.

Recommended Posts

[Android] Fügen Sie am Anfang mehrerer Zeilen eine beliebige Zeichenfolge hinzu
[Ruby] Am Ende der Zeichenkette einfügen, ersetzen, zerstören [b021]
[Löschen Sie den ersten Buchstaben der Zeichenfolge] Ruby
Informationen zum Abschneiden von Zeichenfolgen um die Anzahl der Bytes unter Android
[Android] Beenden Sie die Aktivität der Übergangsquelle zum Zeitpunkt des Bildschirmübergangs
[Android Studio] Legen Sie ein beliebiges Bild für den Anwendungshintergrund fest. [Java]
[Rails] So lassen Sie die Anzeige der Zeichenfolge der link_to-Methode weg