【问题标题】:java replace e replaceAll. ReplaceAll not working [closed]java替换e替换所有。 ReplaceAll 不起作用[关闭]
【发布时间】:2014-12-29 12:09:57
【问题描述】:

我有这个练习。为什么不使用replaceAll?我有一个错误:字符串索引超出范围:1

 public class e3 {

    public static void main(String[] args) {
        String x="Sessione successiva";
        String nuova=x.replace("i", "!");
        String nuova2=nuova.replace("s", "$");
        String nuova3=nuova2.replace("e", "&");
        System.out.println(nuova3);

            //replaceAll
        String nuovaz=x.replaceAll("i", "!");
        String nuova2z=nuovaz.replaceAll("s", "$");
        String nuova3z=nuova2.replaceAll("e", "&");
        System.out.println(nuova3z);


    }

}

【问题讨论】:

  • String nuova3z=nuova2.replaceAll("e", "&"); 有错误,nuova2 应该是nuova2z

标签: java replace replaceall


【解决方案1】:

replaceAll 与正则表达式一起使用。在replacAll 方法中,$ 是一个保留字符,用于引用作为第一个参数给出的正则表达式中定义的组,因此您需要对其进行转义。

String nuova2z=nuovaz.replaceAll("s", "\\$");

DEMO

【讨论】:

    【解决方案2】:

    您需要对正则表达式中使用的字符进行转义,请尝试以下操作:

    String nuovaz=x.replaceAll("i", "!");
    String nuova2z=nuovaz.replaceAll("s", "\\$");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-13
      • 1970-01-01
      • 2015-01-20
      • 1970-01-01
      • 2013-02-16
      • 1970-01-01
      • 2015-11-22
      • 1970-01-01
      相关资源
      最近更新 更多