2017-09-11 72 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+"。)