2017-03-02 3 views
-2

Wie kann ich geteilt eine Zeichenfolge, aber wenn ein Zeichen wiederholt, don`t Split?geteilt eine Zeichenfolge aber Split nicht, wenn das Zeichen wiederholt java

Like:

String a = "aHHHbYY"; 
String[] b = a.split(""); 

Aber ich will nicht jeden Buchstaben nur diejenigen aufteilen, die Wiederholung `t.

Ausgang wäre wie:

["a", "HHH", "b", "YY"] 
+0

alles noch versucht ?? – SachinSarawgi

+0

Verwenden Sie eine for-Schleife, die die Dinge einfacher macht –

+0

Geben Sie Ihre Frage vor der Veröffentlichung an. – GensaGames

Antwort

0

Sie reguläre Ausdrücke als Lösung verwenden können. Hier ist ein Beispiel für das Teilen und Trennen der Zeichen und das Entfernen von Duplikaten.

String input = "aHHHbYY"; 
String[] result = input.replaceAll("(.)\\1{1,}", "$1").split(""); 

erhalten Sie:

["a", "H", "b", "Y"] 
+1

Im Allgemeinen sind reguläre Ausdrücke nicht so einfach zu lesen und zu verstehen. Aber es ist immer willkommen, eine Beschreibung zu Ihrer Antwort hinzuzufügen. Abgesehen davon ist Ihr 'Ergebnis'' ["a", "H", "b", "Y"] ', aber das OP möchte, dass das Array" ["a", "HHH", "b" ist. , "YY"] ' –

+0

@PascalSchneider Frage wurde aktualisiert, nachdem ich geantwortet habe. Lol. – GensaGames

+0

Wenn Sie sich die Geschichte des Posts ansehen, gilt mein Kommentar immer noch. –

0

Ihr Problem einfach mit regulären Ausdrücken gelöst werden können. Dies könnte wie folgt aussehen:

String regex = "(?<=(.))(?!\\1)"; 
String a = "aHHHbYY"; 
String[] b = a.split(regex); 

Dies gibt die genaue Ausgabe, die Sie wollen. Wenn Sie eine ausführlichere Antwort wollen, werfen Sie einen Blick auf diesen Beitrag:

Split regex to extract Strings of contiguous characters

+0

Vielen Dank ... –

+0

Wenn Ihr Problem gelöst ist, würde ich mich freuen, wenn Sie diese Antwort akzeptieren könnten –

Verwandte Themen