日期:2014-05-20  浏览次数:20645 次

怎么替换字符串
有一个字符串向下面的那样
afdf{2},adf{3}dfsfdsf{5}

我怎么把{2},{3},{5}等这样的字符替换成别的文字,比如hellow
最终结果:afdfhellow,adfhellowdfsfdsfhellow


------解决方案--------------------
用正则表达式:
Java code
String str ="afdf{2},adf{3}dfsfdsf{5}";
        String rStr=str.replaceAll("\\{\\d\\}", "hellow");
        System.out.println(rStr);

------解决方案--------------------
由于本人正则表达式学的不精,写个笨方法给你看一下。能实现你的功能。
Java code

List list=new ArrayList();
        for(int i=0;i<10;i++)
        {
            list.add("{"+i+"}");
        }
        String str="afdf{2},adf{3}dfsfdsf{5}";
        for(int j=0;j<list.size();j++)
        {     
            str=str.replace(list.get(j).toString(), "hellow");
        } 
        System.out.println(str);

------解决方案--------------------
没错最简单的就是这样了,用的也比较多。
------解决方案--------------------
正则比较简便,还是用上面的吧。
------解决方案--------------------
Java code

System.out.println("afdf{2},adf{3}dfsfdsf{5}".replaceAll("\\{\\d}", "hellow"));

------解决方案--------------------
探讨
用正则表达式:

Java code

String str ="afdf{2},adf{3}dfsfdsf{5}";
String rStr=str.replaceAll("\\{\\d\\}", "hellow");
System.out.println(rStr);

------解决方案--------------------
探讨

引用:
用正则表达式:

Java code

String str ="afdf{2},adf{3}dfsfdsf{5}";
String rStr=str.replaceAll("\\{\\d\\}", "hellow");
System.out.println(rStr);


这个有些还是实现不了,如当afdf{20},adf{30}dfsfdsf{……