String s="1_2,3_4,5_8,";
我想把s中的"1_2,"替换为"1_5,"
得到s="1_5,3_4,5_8,"
求代码。。
成功即揭帖

解决方案 »

  1.   

    我讲思路哈
      先split(","), 然后spilt("_");
      把数组中的arr[1] == 2的换掉, 再重新组装即可
     呵呵
      

  2.   

    String s = "1_2,3_4,5_8,";
    String result = s.replace("1_2", "1_5");不知道是不是你想要的结果。反正根据你的描述这样处理已经可以了
    可以补充
      

  3.   

    replace不就OK了,干嘛要正则啊
      

  4.   

    看来,我给的例子有点误导
    拿这样吧:
    String s="1_2,3_4,5_8,1_4,";
    我想把s中的"1_2,"和"1_4,"替换为"1_5,"
    得到s="1_5,3_4,5_8,1_5"
      

  5.   

    说具体点,没看明白
    String的replace()方法 JDK1.5replace
    public String replace(CharSequence target,
                          CharSequence replacement)使用指定的字面值替换序列替换此字符串匹配字面值目标序列的每个子字符串。该替换从此字符串的开始一直到结束,例如,用 "b" 替换字符串 "aaa" 中的 "aa" 将生成 "ba" 而不是 "ab"。 
      

  6.   

    如果仅仅是把所有“1_2”换成“1_5”
    s=s.replace("1_2","1_5");
      

  7.   

    这样?
    System.out.println(s.replaceAll("1_\\d", "1_5"));
      

  8.   

    s = s.replaceAll("1_\\d","1_5");
    可以让你的1_0------1_9统统变成1_5
      

  9.   


    如果你是所有形如1_* 都替换成1_5的话 楼上正解
    第一个参数可以传正则表达式你过调用比较平凡 考虑效率的话可以先编译正则表达式
    不过正则表达式本来就耗性能 嘿嘿。能不用就不用
    replaceAll
    public String replaceAll(String regex,
                             String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。 
      

  10.   

     改进下:
    s = s.replaceAll("1_\\d+","1_5");lz,其实,"1_\\d+"就是正则了