String cc="javascript:{edit(this)}";
cc=cc.replaceFirst("javascritp:{","javascript:{alert(\"hello\");");
就出错了。

解决方案 »

  1.   

    有错的:错误:
    “java.util.regex.PatternSyntaxException: Illegal repetition {”
    我的测试代码:
    String aa="test{aaa";
    aa.replaceFirst("{","test0");
      

  2.   

    StringBuffer str = new StringBuffer("Thanks for your help");
    String strInsert = "useful";
    str.insert(16,strInsert + " ");
    System.out.println(str.toString());
      

  3.   

    楼上很对,String 对象是不动态改变长度的,只有先转化成StringBuffer,插入处理后在转回。
      

  4.   

    String str = "This is my string";
    String strIns = " first";
    String str1 = str.substring(0,10);
    String str2 = str.substring(10);
    str = str1 + strIns + str2;
    System.out.println(str);
      

  5.   

    谢谢,但我想知道replaceFirst(String,String)方法中,“{”和“:”是不是有特殊的含义?就象我上面提到的问题,如果替换的不包含有{或:,就可以把aa替换成bbbb,可变长。如果有了以上两个符号就不可以了,就单替换单个字符都不可以。