如何使用分隔符排除括号



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

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

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

这种"奇怪的语法"被称为正则表达式,您可以在Pattern类的javadoc中找到语法。

默认的分隔符是p{javaWhitespace}+,意思是一个或多个"java空白"(请参阅前面的javadoc)。

在您的情况下,您可以将其更改为[p{javaWhitespace}()]+,因为您也有空格。

也不要忘记逃离p

s.useDelimiter("[\p{javaWhitespace}()]+");

尝试此分隔符:

 "\(|\)"

useDelimiter()接受正则表达式作为其参数,您可以在此处查看Oracle关于正则表达式的教程:https://docs.oracle.com/javase/tutorial/essential/regex/

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

最新更新