String.replaceAll 可以用阿,有什么问题吗

解决方案 »

  1.   

    String.replaceAll("Str","S")会将“Str String”变成“S Sing”,但我只希望“Str String”变成“S String”,也就是说不要替换String中的Str
      

  2.   

    String.replaceAll("Str ","S ")行不行?
      

  3.   

    http://www-900.ibm.com/developerWorks/cn/java/j-mer0827/index.shtml更好的第三方包 Jakarta-ORO库
    http://www.jznu.edu.cn/ysxb/sxy/ziliao/Java%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E8%AF%A6%E8%A7%A3.htm
      

  4.   

    真的没有人会用jdk1.4里面的java.util.regex包解决这个问题吗?我很想学用这个包哦!!
      

  5.   

    我要将“Str String”变成“S String”,也就是说不要替换String中的Str,但是以下方法失败:
    package test;
    import java.util.regex.*;
    public class ReplaceTest {
      public static void main(String[] args) {
        String TestS="Str String";
        Pattern pattern=Pattern.compile("\bStr\b");//全字匹配
        Matcher matcher=pattern.matcher("Str String");
        TestS= matcher.replaceAll("S");
        System.out.println(TestS);
      }
    }
       而且,对于正则表达式中的合法表示方式如"\.\@"等在jbuilder中被理解成非法字符窜,以至于不能写检测email有效性的正则表达式,请教高手解决方案!!
      

  6.   

    我已经自己解决!
    package test;
    import java.util.regex.*;
    public class ReplaceTest {
      public static void main(String[] args) {
        String TestS="Str String";
        Pattern pattern=Pattern.compile("\\bStr\\b");//全字匹配
        Matcher matcher=pattern.matcher("Str String");
        TestS= matcher.replaceAll("S");
        System.out.println(TestS);
      }
    }
    不用回贴了,谢谢!