我想从“DemoString”中将“Demo”与其他子字符串一起复制,但只有在字符串的开头出现“Demo”时才会出现。在“StringDemo”的情况下,不会替换。
答案 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");
对于正则表达式,^
仅匹配字符串的开头。