我有一个字符串,我必须用一个子字符串替换它。例如,“服务”这个词。我有一个子字符串叫做"servi“。现在,我需要检查“服务”是否有"servi“。如果是,我需要用“服务”代替。当我试图替换时,它被显示为"servi“。但是预期的输出是“服务”,你能帮我解决这个问题吗?请找到下面的代码。
String stringValue = "Servicing";
if (stringValue != null && stringValue != "") {
i = stringValue.toLowerCase().indexOf("servi", i+1);
if(i>=0){
newData = stringValue .replaceAll("(?i)"+"servi", "<mark>"+"servi"+"</mark>");
System.out.println(newData); // Case sensitive should remain same as String. Not as substring.
i = -1;
}
}发布于 2017-03-20 12:42:03
使用
String stringValue = "Servicing";
if (stringValue != null && !stringValue.isEmpty()) {
String newData = stringValue.replaceAll("(?i)servi", "<mark>$0</mark>");
System.out.println(newData);
}详细信息
(?i) -不区分大小写的内联修饰符servi -文字字符序列$0 -对整个匹配值的反向引用。它确保使用匹配的大小写插入servi (不需要像原始代码那样在替换中硬编码)。https://stackoverflow.com/questions/42903828
复制相似问题