单个字符串替换字符串中的字符

时间:2013-04-25 04:45:41

标签: java string

使用java如何在单个字符串中单独替换字符串中的字符?

例如:
将单*替换为#

输入字符串:

a*b**c*d***e  

输出字符串:

a#b**c#d***e  

inputString.replaceAll("*", "#");替换所有*s并返回a#b##c#d###e

2 个答案:

答案 0 :(得分:5)

您可以使用negative lookahead and lookbehind

String s = "a*b**c*d***e";
String r = s.replaceAll("(?<!\\*)\\*(?!\\*)", "#"); // a#b**c#d***e

这里写着:“a *前面没有*,后面没有*”(注意*必须在正则表达式中转义,因为它是元字符)。

答案 1 :(得分:-1)

尝试使用charAt(n)方法,将数字n(参数)设置为*单个数字,然后将字符串设置为“#”,看看是否有帮助。