代码之家  ›  专栏  ›  技术社区  ›  btrballin

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

  •  0
  • btrballin  · 技术社区  · 10 年前

    假设我有这个字符串:“(hello)(world)”

    我如何使用.useDelimiter()方法获得一个输出,该输出以单独的行打印hello和world?

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

    3 回复  |  直到 10 年前
        1
  •  1
  •   REMqb    10 年前

    这种“奇怪的语法”被称为正则表达式,您可以在 javadoc of the class Pattern .

    默认分隔符为 \p{javaWhitespace}+ 这意味着一个或多个“java空白”(参见前面的javadoc)。

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

    也不要忘记逃避 \p

    s.useDelimiter("[\\p{javaWhitespace}()]+");
    
        2
  •  0
  •   Sachin Gupta    10 年前

    尝试使用此分隔符:

     "\\(|\\)"
    
        3
  •  0
  •   Petter    10 年前

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

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