我想把一个字符串变量内的单引号用双引号代替,
用replace(char,char)函数,在JAVA里怎么写才对啊?
我写 replace(''',''''),编译不通过,请问谁知道怎么写啊?能不能先定义两个字符常量,先定义好char old = ''';
char new = '''';然后直接 replace(old,new),可是现在还是不知道怎么先定义好那个单引号常量和双引号常量,帮个忙吧,没人遇到过吗?用转义字符好像可以,比如定义 char oldchar = '\'';是可以的,但是定义 char newchar = '\'''或char newchar ='''';就不对了,请问第二个怎么定义啊?谢谢!

解决方案 »

  1.   


          /**
       * 替换SQL语句中的'
       * @param s
       * @return
       */
      public static String quote(String s) {
        return "'" + s.replaceAll("'", "''") + "'";
      }
      

  2.   

    谢谢大家回复了,呵呵,我刚才改好了,把解决方法说一下
    if (toVarchar.indexOf('\'')>0){
    toVarchar = toVarchar.substring(0, toVarchar.indexOf('\'')) + '\'' + toVarchar.substring(toVarchar.indexOf('\''), toVarchar.length());
    }
    其实就是把这个字符串重构造一下,加上那个单引号,
    以前的用replace的方法似乎思路是不对的,因为replace的参数是两个char,不可能用长度为2的两个单引号替换掉长度为1的单引号,
    ^-^