-3

文字列があるとします

  String = ".... helllo.... good \"morning\" .....\" "

出力を取得したい

  helllo good morning 

Javaで正規表現を使用してそれを行うにはどうすればよいですか?

4

5 に答える 5

3

と を削除しようとしているだけの場合.は、次の"ことができます

 str = str.replaceAll("\"|\\.", "");

この正規表現は、any "(Java 文字列リテラルで because としてエスケープされる\") または ( |) .(最初\.に正規表現で because としてエスケープされ、次にJava 文字列リテラルで a をエスケープ\\.する\必要があるため) を何も置き換えません ( "")。

于 2013-02-19T08:55:42.163 に答える
0

これを行うには多くの方法があります。

Stringクラスの単純なreplaceメソッドを使用してこれを行う方法を次に示します。

    String s = ".... helllo.... good \"morning\" .....\" ";
    s = s.replace(".","").replace("\"", "");
    System.out.println(s);
于 2013-02-19T09:10:12.010 に答える
0

これ

String yourString = ".... helllo.... good \"morning\" .....\" ";
System.out.println(yourString.replaceAll("[.\\\"]", ""));

出力helllo good morning

于 2013-02-19T09:03:27.263 に答える
0
public static void main(String[] args) {
    String str = ".... helllo.... good \"morning\" .....\" ";
    str = str.replaceAll("[^a-zA-Z]", " ").replaceAll("  +", " ");

    System.out.println(str);
}
于 2013-02-19T09:05:43.440 に答える
0

スペース文字と文字を維持したいだけだとすると、次の正規表現を使用できます。

[^a-zA-Z\s]+

数字も含めたい場合:

[^a-zA-Z0-9\s]+

その正規表現の一致を空の文字列に置き換えるだけです。

編集:

反対のことをしたい場合 (やなどの特定の文字を削除する)、答えを確認できます。."@dystroy

于 2013-02-19T08:56:45.357 に答える