當你想刪除字符串中的某部分時,java中並沒有直接提供相關的方法,比如想刪除
"cout<<\"Hello world\"<<endl" 中的 "Hello World",可以先從頭截取到第一個雙引號,然后從第二個雙引號截取到字符串最后,最后將前面兩步得到的子字符串連接起來。
還有一種,你可以在原字符串上用 ""直接替代掉 "Hello World" 這一部分。
解釋一下
int index2 = strs.indexOf(String.valueOf(ch), index1+1);
該方法的原型為:
public int indexOf(String str,int fromIndex) 該方法有兩個參數
返回由參數str指定的字符串的字符序列在當前字符串的字符序列中出現的不小於fromIndex的最小下標索引值
因此我在第二個參數上加一。這樣就是找到第二個" 出現的位置了。
,
String strs = "cout<<\"Hello world\"<<endl"; //加上轉義符\
char ch = '"'; int index1 = strs.indexOf(String.valueOf(ch)); int index2 = strs.indexOf(String.valueOf(ch), index1+1); //如果沒有加一的話,2個參數是兩都相同,不小於包含等於
String s = strs.substring(index1, index2+1); System.out.println(index1); System.out.println(index2); String last=strs.replace(s, " "); //不應該全部刪除的,要保留一個空格來待處理
System.out.println(s); System.out.println(last);