如何使用定界符排除括号?
How to use delimiter to exclude parenthesis?
假设我有这个字符串:“(hello) (world)”
我如何使用 .useDelimiter() 方法来获得在不同行中打印 hello 和 world 的输出?
我看到了一堆定界符模式示例,它们似乎都在 useDelimiter 的参数中使用了一种奇怪的语法。
试试这个分隔符:
"\(|\)"
useDelimiter()
接受正则表达式作为其参数,您可以在此处查看 Oracle 关于正则表达式的教程:https://docs.oracle.com/javase/tutorial/essential/regex/
对于您的具体情况,分隔符 [\(\)]
应该有效。
这个"weird syntax"叫做正则表达式,你可以在javadoc of the class Pattern.
中找到语法
默认分隔符是\p{javaWhitespace}+
,这意味着一个或多个"java whitespace"(参见前面的javadoc)。
在您的情况下,您可以将其更改为 [\p{javaWhitespace}()]+
,因为您也有空格。
另外别忘了转义 \p
s.useDelimiter("[\p{javaWhitespace}()]+");
假设我有这个字符串:“(hello) (world)”
我如何使用 .useDelimiter() 方法来获得在不同行中打印 hello 和 world 的输出?
我看到了一堆定界符模式示例,它们似乎都在 useDelimiter 的参数中使用了一种奇怪的语法。
试试这个分隔符:
"\(|\)"
useDelimiter()
接受正则表达式作为其参数,您可以在此处查看 Oracle 关于正则表达式的教程:https://docs.oracle.com/javase/tutorial/essential/regex/
对于您的具体情况,分隔符 [\(\)]
应该有效。
这个"weird syntax"叫做正则表达式,你可以在javadoc of the class Pattern.
中找到语法默认分隔符是\p{javaWhitespace}+
,这意味着一个或多个"java whitespace"(参见前面的javadoc)。
在您的情况下,您可以将其更改为 [\p{javaWhitespace}()]+
,因为您也有空格。
另外别忘了转义 \p
s.useDelimiter("[\p{javaWhitespace}()]+");