我想刪除的話它與這些字符串如何刪除以此詞結尾的單詞?
hello_hi
sorry_hr
good_tt
我想刪除與_tt
,_hr
結束的話結束。怎麼做?
is this is good way?
String word = word.replace("_hi", "");
我想刪除的話它與這些字符串如何刪除以此詞結尾的單詞?
hello_hi
sorry_hr
good_tt
我想刪除與_tt
,_hr
結束的話結束。怎麼做?
is this is good way?
String word = word.replace("_hi", "");
所以,你有一個字符串,如:
String str = "hello_hi sorry_hr good_tt";
那麼你一定要總結這三個規則如何被應用:
1)拆下hello_hi因爲它與_hi
結束2)刪除_hr並保留字,對於這種特殊情況,它會保持對不起
3)保持good_tt,因爲它有沒有* _hi或* _HR形式,但* _TT
然後,最後一個字符串將是 「對不起good_tt」
讓我們做
String[] strings = str.split(" ");
ArrayList processed = new ArrayList();
for (String token : strings) {
if (token.endsWith("_hr")){ //rule 2
processed.add(token.replace("_hr", ""));
} else if (token.endsWith("_hi")) { //rule 1
continue;
} else { //any other case, rule 3
processed.add(token);
}
}
這樣的話,你將不得不在處理列表的結果:「對不起」和「good_tt」
System.out.println(processed.toString());
獲取以下輸出:
[sorry, good_tt]
沒用。仍然打印相同 – user2150249 2013-03-09 02:02:55
你是什麼意思?你能澄清嗎?我已盡力理解您的問題並準備一個循序漸進的答案,請隨時在任何不正確的部分進行編輯。答案是社區維基類,所以你可以編輯它! – emecas 2013-03-09 02:21:04
String[] tokens = str.split(" ");
List<String> good = Lists.newArrayList();
for (String token : tokens) {
if (token.endsWith("_hr") || token.endsWith("_tt")) continue;
good.add(clip_end(token));
}
join(good);
String clip_end(String str)
應將_hi關閉。這只是對indexOf和substring的簡單調用。
String join(List<String> strs)
只是連接空格。
本着SO的精神,你可以寫剪輯和連接。如果還有額外的功勞,請用StringBuilder替換good
列表並直接將輸出寫入它。
我假設你有一個字符串,其中包含你的令牌,結束於例如_tt
並且您想要從該字符串中刪除該單詞。
String[] tokens = yourStr.split(" ");
for (String t : tokens) {
if (t.endsWith("_tt") {
yourStr = yourStr.replaceAll(t, "");
}
}
這不起作用的正則表達式混淆。 – 2013-03-08 23:58:16
是否要保留該單詞並刪除標記'_hi'和'_hr'? – 2013-03-08 23:48:23
你想刪除某處的文字嗎?或者實際上你想要的是消除單詞的結尾? – emecas 2013-03-08 23:49:31
我想刪除這樣結束的整個單詞。另外我想刪除我想保留的令牌。 – user2150249 2013-03-08 23:50:44