使用java如何仅在单个字符出现时替换字符串中的字符?
例如:
将 single 替换*
为 a#
输入字符串:
a*b**c*d***e
输出字符串:
a#b**c#d***e
inputString.replaceAll("*", "#");
替换所有*s
并返回a#b##c#d###e
您可以使用负前瞻和后视:
String s = "a*b**c*d***e";
String r = s.replaceAll("(?<!\\*)\\*(?!\\*)", "#"); // a#b**c#d***e
这读为:“一个 * 前面没有 * 并且后面没有 *”(注意*
必须在正则表达式中转义,因为它是一个元字符)。
尝试使用 charAt(n) 方法,将数字 n(参数)设置为 * 单个的数量,然后将字符串设置为“#”,看看是否有帮助。