使用较少的.replace()调用运行多个字符串替换

时间:2012-04-03 19:46:03

标签: java-6

我想将以下代码压缩为对.replace()的较少调用。它看起来不像.replace()。我是对的还是我只是读错了文档?

public void setBody(String body) {
    this.body = body.replace("“", "\"").replace("”", "\"").replace("—", "-").replace("’", "'").replace("‘", "'");
}

2 个答案:

答案 0 :(得分:1)

你是对的。要解决这个问题,你应该创建一个StringBuilder并一次查看你的字符串1字符,如果正确则将字符添加到stringBuilder中,如果错误则将其替换。

答案 1 :(得分:1)

您应该可以使用body.replace(['"', '—', '‘'], ['\"', '-', "'"])