Java中的字符串替换

Aly*_*Aly 5 java regex string

我目前有一个包含字符A,B和C的字符串,例如字符串

"A some other random stuff B C"
Run Code Online (Sandbox Code Playgroud)

其他随机的东西不包含A,B或CI想分别用'A','B'和'C'替换A,B和C,目前我正在做的最好的方法是:

String.replace("A", "'A'").replace("B", "'B'").replace("C", "'C'")
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 16

如果A,B和C是那些确切的单个字符,则cletus的答案可以正常工作,但如果它们可以是更长的字符串则不然,例如,你只是将它们称为A,B和C. 如果它们是更长的字符串,您需要做:

String input = "FOO some other random stuff BAR BAZ";
String output = input.replaceAll("FOO|BAR|BAZ", "'$0'");
Run Code Online (Sandbox Code Playgroud)

您还需要转义FOO,BAR和BAZ中的任何特殊字符,以便它们不会被解释为特殊的正则表达式符号.


cle*_*tus 10

使用正则表达式:

String input = "A some other random stuff B C";
String output = input.replaceAll("[ABC]", "'$0'");
Run Code Online (Sandbox Code Playgroud)

输出:

'A' some other random stuff 'B' 'C'
Run Code Online (Sandbox Code Playgroud)