【问题标题】:Using replaceAll to remove part of XPath expression使用 replaceAll 删除部分 XPath 表达式
【发布时间】:2013-10-28 19:32:00
【问题描述】:
String xpath = "A/B/C[Hello world]/D";

在上面的字符串中,我必须替换方括号和它之间的内容。 最终输出应为:A/B/C/D

我已经编写了下面的代码,但是如果HelloWorld 之间有空格,则它不起作用:

String Xpath1 = xpath.replaceAll("\\[[\\S]+\\]", "");

【问题讨论】:

    标签: java regex xpath


    【解决方案1】:

    您的正则表达式匹配所有非空白字符。因此,它不会匹配空格。

    听起来你实际上想要匹配除]之外的所有字符:

    [^\\]]
    

    【讨论】:

    • 我只想将最终输出作为 A/B/C/D 输入为“A/B/C[Hello world]/D”。我的 Hello World 包含空间。
    • @RahulJain:那你为什么要写一个专门不匹配空格的正则表达式?
    • 我不知道我在正则表达式中写了什么,请告诉我
    • @RahulJain:阅读我的回答。您需要了解正则表达式。
    【解决方案2】:

    这应该可以解决问题:

    String xpathResult = xpath.replaceAll("\\[.*\\]", "");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多