0

我需要替换各种看起来像的{\'\i}字符串i

我已经阅读过Java String ReplaceAll 方法给出非法重复错误?

所以我尝试了

String word = "something{\\\'\\\i}".replaceAll("\\\\{\\\'\\\i}", "DONE");

但它不起作用,有人可以帮助我吗?

4

6 回答 6

1

replaceAll期望正则表达式。与其尝试正确使用 RegEx,不如使用replace.

String word = "something{\\'\\i}".replace("{\\'\\i}", "DONE");
于 2013-08-13T11:06:21.227 回答
0

我认为你必须使用

String word = "yourtexthere"
String newWord = word.replaceAll("{\'\i}", "i");
于 2013-08-13T11:05:09.850 回答
0

尝试这个:

final String a = "text{\\'\\i}";
System.out.println(a);
System.out.println(a.replace("{\\'\\i}", "i"));
于 2013-08-13T11:11:09.157 回答
0

您应该简单地使用 replace 函数而不是 replaceAll 因为最后一个需要正则表达式作为参数,例如:

String word = "something{\\'\\i}".replace("{\\'\\i}", "'i' /* or i */");

\必须在 java 中转义,这就是为什么我们有\\

于 2013-08-13T11:11:51.143 回答
0

由于replaceAll使用正则表达式,您需要转义所有相关字符 ( {}\),如下所示

"something{\\'\\i}".replaceAll("\\{\\\\'\\\\i\\}", "i");

\\\\是因为您要转义\Java String 中的第一个,然后转义正则表达式以匹配文字\

于 2013-08-13T11:18:27.570 回答
-1
<script>
    word = "{\'\i}";
    a = word.replace("{"," "");
    a = a.replace("}", "");
    a = a.replace("'", "");

</script>

只需使用要替换的字符创建另一个规则。不是一个很好的解决方案,但它是最“干净”的。

于 2013-08-13T11:21:38.790 回答