文字列があるとします
String = ".... helllo.... good \"morning\" .....\" "
出力を取得したい
helllo good morning
Javaで正規表現を使用してそれを行うにはどうすればよいですか?
文字列があるとします
String = ".... helllo.... good \"morning\" .....\" "
出力を取得したい
helllo good morning
Javaで正規表現を使用してそれを行うにはどうすればよいですか?
と を削除しようとしているだけの場合.
は、次の"
ことができます
str = str.replaceAll("\"|\\.", "");
この正規表現は、any "
(Java 文字列リテラルで because としてエスケープされる\"
) または ( |
) .
(最初\.
に正規表現で because としてエスケープされ、次にJava 文字列リテラルで a をエスケープ\\.
する\
必要があるため) を何も置き換えません ( ""
)。
これを行うには多くの方法があります。
Stringクラスの単純なreplaceメソッドを使用してこれを行う方法を次に示します。
String s = ".... helllo.... good \"morning\" .....\" ";
s = s.replace(".","").replace("\"", "");
System.out.println(s);
これ
String yourString = ".... helllo.... good \"morning\" .....\" ";
System.out.println(yourString.replaceAll("[.\\\"]", ""));
出力helllo good morning
public static void main(String[] args) {
String str = ".... helllo.... good \"morning\" .....\" ";
str = str.replaceAll("[^a-zA-Z]", " ").replaceAll(" +", " ");
System.out.println(str);
}
スペース文字と文字を維持したいだけだとすると、次の正規表現を使用できます。
[^a-zA-Z\s]+
数字も含めたい場合:
[^a-zA-Z0-9\s]+
その正規表現の一致を空の文字列に置き換えるだけです。
編集:
反対のことをしたい場合 (やなどの特定の文字を削除する)、答えを確認できます。.
"
@dystroy