如何使用分隔符排除括号?

时间:2015-03-26 08:48:03

标签: java parsing data-structures java.util.scanner delimiter

说我有这个字符串:"(你好)(世界)"

我如何使用.useDelimiter()方法获取在单独的行中打印hello和world的输出?

我看到了一堆分隔符模式示例,它们似乎都在useDelimiter参数中使用了一个奇怪的语法。

3 个答案:

答案 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/

对于您的具体情况,分隔符[\\(\\)]应该有效。