2 woshilaodawoyaofa woshilaodawoyaofa 于 2013.12.19 16:34 提问

java如何将字符串的所有括号中指定字符替换掉?(正则表达式或者其它方法)

要处理字符串

Medical Care ( Costs Inverse ## agonism ( Costs Inverse ## agonism ) ) Costs ( Inverse ## agonism ) at beta_1 ##adrenergic receptors
替换操作:将字符串中 所有括号 内的 ##替换成 @
处理结果:
Medical Care ( Costs Inverse @ agonism ( Costs Inverse @ agonism ) ) Costs ( Inverse @ agonism ) at beta_1 ## adrenergic receptors
各路高手帮帮忙 正则表达式或者其它方法都行的

1个回答

a_liujian
a_liujian   2013.12.19 17:58
已采纳
public static void main(String[] args) {
    String s = "Medical Care ( Costs Inverse ## agonism ( Costs Inverse ## agonism ) ) Costs ( Inverse ## agonism ) at beta_1 ##adrenergic receptors";
    String returnValue = "";
    String [] str =   s.split("\\)");

    for (int i = 0; i < str.length; i++) {
        if(" ".equals(str[i])){
            str[i] = ")";
        }

        if(str[i].contains("(")){
            str[i] = str[i].replaceAll("##", "@@")+")";
        }
    }

    s = ArrayUtils.toString(str).replace(",", " ");
    returnValue = s.substring(1, s.length()-1);
   System.out.println(returnValue);
}
a_liujian
a_liujian 其实用正则是最好的实现方式。
4 年多之前 回复
woshilaodawoyaofa
woshilaodawoyaofa 非常感谢,已经搞定了。。。。
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!