我正在尋找最有效的Java方法,可以讓我'刪除嵌入的字符串'。例如,如果我有字符串"Bob said \"Hello world!\"."
,並且我調用它的方法,結果應該是:"Bob said ."
。幫助將不勝感激!刪除嵌入的字符串
請注意,我希望此方法爲常規,這樣如果Bob說「除了」hello world「之外的東西,它仍然可以工作。
我正在尋找最有效的Java方法,可以讓我'刪除嵌入的字符串'。例如,如果我有字符串"Bob said \"Hello world!\"."
,並且我調用它的方法,結果應該是:"Bob said ."
。幫助將不勝感激!刪除嵌入的字符串
請注意,我希望此方法爲常規,這樣如果Bob說「除了」hello world「之外的東西,它仍然可以工作。
您可以嘗試
String string = "Bob said \"Hello world!\".";
string = string.replaceAll("\"[^\"]+\"", "");
使用replaceFirst如果你只是要刪除的第一次報文。
只需使用正則表達式:
String newString = string.replaceAll("\"[^\"]*\"","");
假設一個連串號\"
S,你可以使用這樣的事情:
private String deleteEmbedded(String input) {
String[] split = input.split("\"");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < split.length; i+=2) {
sb.append(split[i]);
}
return sb.toString();
}
使用正則表達式來做到這一點。
private String removeSubStrings(String s) {
return s.replaceAll("\"[^\"]*\"", "");
}
調用removeSubStrings( 「鮑勃說:\」 世界,你好!\ 「」)將產生Bob said .
您是否在尋找任何嵌入的字符串或只是 「世界,你好!」 ? –
該方法可以返回一個字符串。是的,任何嵌入的字符串。 – arshajii