在java中,如果它在起始位置,如何替换字符串中的子字符串

时间:2015-01-13 11:00:02

标签: java string

我想从“DemoString”中将“Demo”与其他子字符串一起复制,但只有在字符串的开头出现“Demo”时才会出现。在“StringDemo”的情况下,不会替换。

4 个答案:

答案 0 :(得分:4)

检查条件,如果字符串以键开头,则将第一个键替换为所需的键,如下所示:

String string = "demo string string demo";

if (string.startsWith("demo")) {
    System.out.println(string.replaceFirst("demo", "xyz"));
}

输出:

xyz string string demo

<强>更新

由于我们使用的是replaceFirst(),因此无需添加条件我们可以直接调用该方法来替换字符串

System.out.println(string.replaceFirst("demo", "xyz"));

答案 1 :(得分:2)

看看这个简短的例子:

public class HelloWorld{

 public static void main(String []args){

    String s = "DemoString StringDemo DemoString";

    String[] str = s.split(" ");

    for(String ss : str)
    {
        int index = ss.indexOf("Demo"); //check if "Demo" is at the start of the string
        if(index == 0)
        {
            ss = ss.replace("Demo","Demo2");
        }
        System.out.println(ss);
    }
 }
}

输出: Demo2String StringDemo Demo2String

答案 2 :(得分:0)

尝试类似:

String myline = line.replaceAll("^[Dd][eE][mM][Oo]", "");

答案 3 :(得分:-1)

你的意思是?

String text = ...
String text2 = text.replaceAll("^Demo", "NotDemo");

对于正则表达式,^仅匹配字符串的开头。