2017-09-11 5 views
0

Derzeit versuche ich das erste Vorkommen eines 'Leerzeichen' oder '->' in jeder Zeile zu erfassen. Mein Ausdruck erfasst jedoch alle Vorkommen von Trennzeichen.Nur das erste Vorkommen einer Regex-Zeichenfolge abfangen

String delimiters = "(->)|[\\s]+" 
String[] splittedLine = planArray[i].split(delimiters) 

wo planArray[i] ist die Zeichenfolge wir versuchen, mit Regex zu spalten, z.B. leftClick 100 100

I Linksklick wollen splittedLine[0] und 100 100 sein splittedLine[1] zu sein.

Dank

+1

Ich denke, die (. Auch könnten Sie die Regex "->|\\s+" vereinfachen) Klammern und Klammern sind nicht notwendig. – shmosel

Antwort

3

Verwenden Sie die version of split, die einen limit Parameter und begrenzen das Ergebnis zu 2 Teilen:

String line = "leftClick 100 100"; 
String delimiters = "(->)|[\\s]+"; 
String[] splittedLine = line.split(delimiters, 2);  
System.out.println(Arrays.toString(splittedLine)); 
// [leftClick, 100 100] 

Verwandte Themen