替换replace()和replaceAll()方法

时间:2014-02-11 04:35:31

标签: java string replace

我们需要更换字符串。但是我们不应该使用replace()或replaceAll()方法。我们如何在Java中实现这一目标?

例如:

第一个字符串:生活很实际 (此处生活字符串必须替换为'世界上的一切')

预期输出: 世界上的一切都是实用的

3 个答案:

答案 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