我们需要更换字符串。但是我们不应该使用replace()或replaceAll()方法。我们如何在Java中实现这一目标?
例如:
第一个字符串:生活很实际 (此处生活字符串必须替换为'世界上的一切')
预期输出: 世界上的一切都是实用的
答案 0 :(得分:1)
这样做..
return firstString.substring(0,firstString.indexOf(strPrevString))+strNextString+firstString.substring(firstString.indexOf(strPrevString)+strPrevString.length(),firstString.length());
其中strPrevString
=生活是实际的;
和strNextString
=世界上的一切
答案 1 :(得分:1)
检查一下。
public class ReplaceTest {
public static void main(String[] args) {
String str = "Life is practical"; //At first
testReplace(str);
str = "I have Life"; //At last
testReplace(str);
str = "I have Life, Life is beautiful"; //in the mid
testReplace(str);
}
private static void testReplace(String str) {
String[] strArr = str.split("Life");
StringBuilder newStr = new StringBuilder(strArr[0]);
for (int i = 1; i < strArr.length; i++) {
newStr.append("Everything").append(strArr[i]);
}
if (str.endsWith("Life")) {
newStr.append("Everything");
}
System.out.println(newStr.toString());
}
}
输出:
一切都很实际
我拥有一切
我拥有一切,一切都很美好
答案 2 :(得分:0)
从Java源代码修改:
public String customReplaceAll(String sourceString ,String regex, String replacement)
{
return Pattern.compile(regex).matcher(src).replaceAll(replacement);
}
用法:
System.out.println(customReplaceAll("Hi da Hi","Hi","Bye"));
O / P:
Bye da Bye