这样的一个值:"begin""my value""end"
begin前的"和end后的"需要去掉,中间的""需要变成"。
这样的一个串来做比较的快和好呢?

解决方案 »

  1.   

    表达式:
    "("?)替换为:
    $1测试工具:
    http://www.regexlab.com/zh/replshop.asp?pat=%22%28%22%3F%29&rto=%241&txt=%u8FD9%u6837%u7684%u4E00%u4E2A%u503C%uFF1A%22begin%22%22my%20value%22%22end%22更多帮助,请参考正则表达式文档:
    http://www.regexlab.com/zh/regref.htm
      

  2.   

    如果不考虑  my value 内容存在的其他特例其实就是把    "begin"     替换为      begin
    把            "end"       替换为      endpackage xdoptest;public class RepAL {
      public static void main(String[]args) {
        String s="\"begin\"\"my value\"\"end\"";
        System.out.println(s);
        System.out.println(s.replaceAll("\"begin\"","begin").replaceAll("\"end\"","end"));
      }
    }
      

  3.   

    "begin""my value""end"
    begin"my value"end
      

  4.   

    public class test001 { public static void main(String[] args) {
    StringBuffer s = new StringBuffer("“begin”“my value”“end”");
    System.out.println(s);
    s.delete(0,1);
    s.delete(20,21);
    s.replace(5,7,"“");
    s.replace(14,16,"”");
    System.out.println(s);
    }
    }输出结果:
    “begin”“my value”“end”
    begin“my value”end
      

  5.   

    对的,用stringbuffer的各种方法总归能解决问题的。
      

  6.   

    楼主的意思是,类似"AAA""BBB"经过处理要变成AAA"BBB?那么如果是"AAA""BBB或者是"AAA"BBB"这样的串应该怎么处理?
      

  7.   

    我前面的回帖能够满足楼主的要求,搂主没有看到吗?代码如下:String str = "\"begin\"\"my value\"\"end\"\"AAA\"\"BBB\"";
    str = str.replaceAll("\"(\"?)", "$1");
    System.out.println(str);
      

  8.   

    谢谢:sswater(光杆兵) ,可是不太明白,这个"\"(\"?)", "$1"是什么意思。怎么构成了这样的一个表达式,请讲讲
      

  9.   

    表达式:
    "("?)讲解:
    (1). 其实就类似 "ab?" 能够匹配 "a" 和 "ab",这个应该理解吧。
    (2). ""? 可以匹配 " 和 ""
    (3). "("?) 其实就是把 "? 括起来了而已。进行替换的时候,"$1" 表示第一个括号内的表达式匹配到的内容,"$2" 表示第二个括号的表达式匹配到的内容,……以此类推在本贴中:
    如果只有 1个 " 那么,括号内的部分 ("?) 实际上就是匹配到了空字符串
    如果有 2 个 "" 那么,括号内的部分 ("?) 匹配到了第二个引号因此:
    匹配到2个引号时,$1 代表1个引号
    匹配到1个引号时,$1 代表空字符串更多帮助,欢迎参考我写的文章:
    http://www.regexlab.com/zh/regref.htm
      

  10.   

    "\"(\"?)"看起来虽然乱,其实就是把 "("?) 写在 java 代码中作为字符串常量时,需要将 " 写成 \",再加上前后一个引号,就显得复杂:"     \"     (     \"     ?     )     "     =>     "\"(\"?)"