我需要在Java中从字符串中删除set substring。我怎么能这样做? 例如:
string st1="The end of the text";
string st2="end of the ";
结果:
st1="The text".
答案 0 :(得分:4)
你可以这样做:
String newString = st1.replace(st2, "");
// String newString2 = st1.replaceAll(st2, ""); Alternative
// String newString3 = st1.replaceFirst(st2, ""); Alternative 2
但是,你的问题会闻到作业的味道,所以你应该在未来的问题上加上那个标签,如果这是真的。
答案 1 :(得分:2)
以下是否符合您的要求?
str1 = st1.replace(st2,"");
答案 2 :(得分:0)
如果您想使用substring()
,可以这样做:
public static String getCustomString(String s1, String s2)
{
if(s1.length() >= s2.length())
{
if(s1.contains(s2))
return s1.substring(0, s1.indexOf(s2)) + s1.substring(s1.indexOf(s2) + s2.length());
}
else
{
if(s2.contains(s1))
return s2.substring(0, s2.indexOf(s1)) + s2.substring(s2.indexOf(s1) + s1.length());
}
return "";
}
答案 3 :(得分:0)
如果是家庭作业(使用最少的Java API调用:
public void subString(String st1, String st2) {
int s2len = st2.length();
int s1len = st1.length();
int i = 0;
int count = 0;
while(i <= st1.length() && i+st2.length() <= st1.length()) {
if (st1.substring(i, i+st2.length()).equalsIgnoreCase(st2)) {
st1 = (i > 0? st1.substring(0, i) : "") + st1.substring(i+st2.length());
i=0;
}
else {
i++;
}
}
System.out.println(st1);
}
否则:
st1.replace(st2, "");