Java-Strings bearbeiten

Am Anfang

Ich werde über die Funktionsweise einer etwas komplizierten Zeichenkette schreiben

Was du machen willst

Zum Beispiel a b c triple 4649 bd d op Wenn es eine Zeichenkette gab triple 4649 Ich möchte den in enthaltenen Raum halber Breite nicht kürzen, aber ich möchte den Raum anderer Zeichen kürzen Mit anderen Worten abc triple 4649 bddop Ich möchte so etwas tun

Bild der Umsetzung

a b c triple 4649 bd d op Zu

a b c
 triple 4649 
bd d  op 

Halten Sie es vertikal wie "a b c"Wann"bd d op " Schneidet einen Raum mit halber Breite ab, triple 4649 Versuchen Sie, die Richtlinie zu übernehmen, Räume mit halber Breite nicht zu kürzen Zu diesem Zweck müssen Regeln für die Zerlegung und das Ersetzen von Zeichenketten festgelegt werden, die im Folgenden erläutert werden.

Regel

Die Regeln zum Zerlegen und Ersetzen von Zeichenketten lauten wie folgt.

Ein Trennzeichen zum Auflisten von Zeichenfolgen'!',`, Die Saite, die Sie nicht trimmen möchten@Einschließen in

Im obigen Beispiel

a b c!@ triple 4649 @!bd d op Wird

Java-Implementierung

Ich habe versucht, es sehr einfach mit StreamAPI zu implementieren

ReplaceUtil.java


package stringutil;
import java.util.stream.Stream;

public class ReplaceUtil {
	
	public static String replacewhiteSpace(String target,String separator,String marker) {
		return Stream.of(target.split(separator))
		.map(s->replacer(s,marker))
		.reduce((s1,s2)->s1+s2 )
		.orElse("");
	}
	
	private static  String replacer(String target,String marker) {
		if(target.matches(String.format("%s[\\w| ].*%s", marker,marker))) {
			return target.replaceAll(String.format("%s([\\w| ].*)%s", marker,marker), "$1");
		}else {
			return target.replaceAll(" ", "");
		}
	}

}

Recommended Posts

Java-Strings bearbeiten
Sortieren Sie Zeichenfolgen als charakteristische Funktion mit Java
Java
Java
[Java] Entfernen Sie Leerzeichen in Zeichenfolgen
So verketten Sie Zeichenfolgen mit Java
Java lernen (0)
Java studieren ―― 3
Java geschützt
Konvertieren Sie Java org.w3c.dom.Document-Objekte und XML-Zeichenfolgen
[Java] Anmerkung
[Java] Modul
Java-Array
Java studieren ―― 9
Java Scratch Scratch
Java-Tipps, Tipps
Java-Methoden
Java-Methode
Java (Konstruktor)
Java-Array
[Java] ArrayDeque
Java (überschreiben)
Java Day 2018
Java-Zeichenfolge
Java (Array)
Java statisch
Java-Serialisierung
Java Anfänger 4
JAVA hat bezahlt
Java studieren ―― 4
Java (gesetzt)
Java-Shell-Sortierung
[Java] compareTo
Java studieren -5
Java reflektierend 获 获 举
Java (Schnittstelle)
Java-Memorandum
Java-Array
Java studieren ―― 1
[Java] Array
[Java] Polymorphismus
Java # 0 studieren
Java-Überprüfung
Java-Framework
Java-Funktionen
[Java] Vererbung
FastScanner Java
Java-Funktionen
Java Anfänger 3
Java-Memo
Java (Kapselung)
Java-Vererbung
[Java] Überladung
Java-Grundlagen
Java dekompilieren
[Java] Anmerkung
Java Note
Java Anfänger
Java (add2)
JAVA (Karte)