说我有这个字符串:"(你好)(世界)"
我如何使用.useDelimiter()方法获取在单独的行中打印hello和world的输出?
我看到了一堆分隔符模式示例,它们似乎都在useDelimiter参数中使用了一个奇怪的语法。
答案 0 :(得分:1)
这种“奇怪的语法”称为正则表达式,您可以在javadoc of the class Pattern中找到语法。
默认分隔符是\p{javaWhitespace}+
,这意味着有一个或多个“java空格”(参见前面的javadoc)。
在您的情况下,您可以将其更改为[\p{javaWhitespace}()]+
,因为您也有空格。
另外,不要忘记逃避\p
s.useDelimiter("[\\p{javaWhitespace}()]+");
答案 1 :(得分:0)
试试这个分隔符:
"\\(|\\)"
答案 2 :(得分:0)
useDelimiter()
接受正则表达式作为参数,您可以在此处查看Oracle正则表达式教程:https://docs.oracle.com/javase/tutorial/essential/regex/
对于您的具体情况,分隔符[\\(\\)]
应该有效。