-3

これらの文字列で終わる単語を削除したい

hello_hi
sorry_hr
good_tt

_ttで終わる単語を削除したい_hr。どうやってするの?

     is this is good way?

       String word = word.replace("_hi", "");
4

4 に答える 4

2

したがって、次のような単一の文字列があります。

     String str = "hello_hi sorry_hr good_tt";

次に、必要なものは、適用される次の 3 つのルールに要約されます。

1) _hi で終わる hello_hi を削除します。

2) _hr を削除し、単語を後ろに残します。この特定のケースでは、申し訳ありません

3) *_hi または *_hr 形式ではなく、*_tt であるため、good_tt を保持します。

すると、最後の文字列は「sorry 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); 
        }
    }

そうすれば、処理されたリストに結果が表示されます: "sorry""good_tt"

    System.out.println(processed.toString());

次の出力を取得します。

    [sorry, good_tt]
于 2013-03-09T00:29:59.313 に答える
1

たとえば、for で終わるトークンを含む文字列があり、_ttその文字列からその単語を削除したいとします。

String[] tokens = yourStr.split(" ");
for (String t : tokens) {
   if (t.endsWith("_tt") {
       yourStr = yourStr.replaceAll(t, "");
   }
}
于 2013-03-08T23:56:27.440 に答える
0

正規表現を使ってみませんか?

于 2013-03-08T23:52:58.830 に答える