0

我想将以下代码压缩为对.replace(). 看起来.replace()不会这样做。我是对的还是我只是读错了文档?

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

2 回答 2

1

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

于 2012-04-03T19:51:22.860 回答
1

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

于 2012-04-03T19:52:52.690 回答