【问题标题】:java - RegEx replace all butjava - 正则表达式替换所有,但
【发布时间】:2014-08-06 19:09:22
【问题描述】:

我遇到了在 Java 中使用正则表达式的问题。我正在尝试替换与我的表达式不匹配的字符串中的所有内容。 示例:

String string = "This is test string (1) of 10";

基本上,我需要删除字符串中的所有字符以获取括号内的值以便稍后更改它。我认为以下方法可行:

string.replaceAll("^[\\([0-9]\\)]", "(" + nextNumber  +")" );

然而,事实并非如此。我也试过:

string.replaceAll("(?!\\([0-9]\\)])", "(" + nextNumber  +")" );

有谁知道获取括号内值的更好方法,或者你能告诉我如何替换字符串中除括号内的值之外的所有字符吗?

【问题讨论】:

    标签: java regex


    【解决方案1】:

    你可以试试

    string.replaceAll("\\([0-9]\\)", "(" + nextNumber  +")" );
    

    不需要^代表行首。

    如果数字超过一位,请尝试\\([0-9]+\\),您可以使用\\d 代替[0-9]

    欲了解更多信息,请查看Java Regex Pattern

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-25
      • 1970-01-01
      • 2010-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多