我有这个代码:
String path;
path = main.getInput(); // lets say getInput() is "Hello \Wo rld\"
args = path.split("\\s+");
for (int i = 0; i < args.length; i++) {
System.out.println(args[i]);
}
有没有一种方法可以拆分字符串,以便将单词拆分并放入数组中,但前提是它们不位于两个反斜杠之间,以便“Wo rld”成为一个一个字而不是两个?
最佳答案
您可以尝试仅在后跟偶数个反斜杠的空格上进行拆分。原始正则表达式:
\s+(?=(?:[^\\]*\\[^\\]*\\)*[^\\]*$)
Java 转义正则表达式:
\\s+(?=(?:[^\\\\]*\\\\[^\\\\]*\\\\)*[^\\\\]*$)
关于java - 将字符串中的单词拆分为数组,但如果它们位于斜杠之间则不拆分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591637/