目前,我正在 try catch 每行中第一次出现的“空格”或“->”。但是,我的表达式捕获了所有出现的分隔符。
String delimiters = "(->)|[\\s]+"
String[] splittedLine = planArray[i].split(delimiters)
其中 planArray[i]
是我们尝试用正则表达式分割的字符串,例如
左键单击 100 100
我希望 leftClick 为 splittedLine[0]
,100 100
为 splittedLine[1]
。
谢谢
最佳答案
使用version of split
具有 limit
参数并将结果限制为 2 部分:
String line = "leftClick 100 100";
String delimiters = "(->)|[\\s]+";
String[] splittedLine = line.split(delimiters, 2);
System.out.println(Arrays.toString(splittedLine));
// [leftClick, 100 100]
(此外,您可以将正则表达式简化为 "->|\\s+"
。)
关于java - 仅捕获正则表达式字符串的第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46160052/