2017-09-11 59 views
0

目前,我試圖在每一行上捕捉到'space'或' - >'的第一個匹配項。但是,我的表情捕捉到所有分隔符。只捕獲正則表達式字符串的第一個匹配項

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

其中planArray[i]是我們試圖用正則表達式,例如分割字符串 leftClick 100 100

我想leftClick是splittedLine[0]100 100splittedLine[1]

感謝

+1

我覺得括號和括號是不必要的。 – shmosel

回答

3

使用具有limit參數和結果限制爲2份version of split

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

(此外,您可以簡化正則表達式"->|\\s+"。)