Java 替换为replace()或replaceAll()方法

Java 替换为replace()或replaceAll()方法,java,string,replace,Java,String,Replace,我们需要替换字符串。但是我们不应该使用replace()或replaceAll()方法。我们如何在Java中实现这一点 例如: 第一串:生活是实际的 (这里的生活字符串必须替换为“世界上的一切”) 预期产出: 世界上的一切都是实用的由Java源代码修改而来: public String customReplaceAll(String sourceString ,String regex, String replacement) { return Patte

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

例如:

第一串:生活是实际的 (这里的生活字符串必须替换为“世界上的一切”)

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

由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:


这样就可以了。

return firstString.substring(0,firstString.indexOf(strPrevString))+strNextString+firstString.substring(firstString.indexOf(strPrevString)+strPrevString.length(),firstString.length());
其中
strPrevString
=生活是可行的

并且
strNextString
=世界上的所有东西检查这个

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());

}

}
公共类替换测试{
公共静态void main(字符串[]args){
String str=“生活是实际的”;//首先
testReplace(str);
str=“我有生命”;//终于
testReplace(str);
str=“我有生命,生命是美丽的”//在中间
testReplace(str);
}
私有静态void testReplace(字符串str){
字符串[]strArr=str.split(“Life”);
StringBuilder newStr=新的StringBuilder(strArr[0]);
对于(int i=1;i
输出:
一切都是实用的
我什么都有

我拥有一切,一切都很美好

为什么你不能实现你自己的替换方法?转到字符串类..并查看替换和替换所有方法的实现。。。那你可以自己做不。我们的要求是不使用replace()methods@VishalSantharam我该怎么做?如果你得到了答案,请勾选已接受的解决方案。谢谢,谢谢你的工作。但是在上面的代码中,您又在使用replaceAll()方法???我想要一个只有正则表达式的东西,它可以替换模式的方法id,而不是字符串的方法id。
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());

}

}