[解決済み] 文字列から句読点を削除する【重複
2022-01-28 02:35:48
質問
文字列があり、これらの記号を削除する必要があります。
-- + [ ] { } ( ) \ /
例えば
String clean = "This \ is / an example. This -- is + an [(example)].";
clean = clean.replaceAll("[/[()/]]", "");
clean = clean.replaceAll("/-/-", "");
clean = clean.replaceAll("\\/","");
clean = clean.replaceAll("\\\\", " ");
clean = clean.replaceAll("\\+", "");
return clean.replaceAll("[ ]+", " ").trim();
私の出力はこうなるはずです。
This is an example. This is an example.
私のコードでは、必要なものがすべて削除されていません。また、これを行うより短い方法があれば知りたいです。
--
ただ、いくつかこだわりがあるので、述べておきます。
-
は、2つ一緒に存在する場合のみ削除してください。
/
は空白で置き換える必要があります。ここで皆さんの解決策を適応してみようと思います。ありがとうございます。
どのように解決するのですか?
String.replaceAllメソッドを呼び出して、それらの文字を空の文字列に置き換えるように指定すればよいのです。
clean = clean.replaceAll("(?:--|[\\[\\]{}()+/\\\\])", "");
しかし、これを何度も行う必要がある場合は、正規表現を繰り返しコンパイルする必要がないように、Patternオブジェクトを作成する価値があります。
private static final Pattern UNWANTED_SYMBOLS =
Pattern.compile("(?:--|[\\[\\]{}()+/\\\\])");
これを利用してMatcherオブジェクトを作成し、それを使って置換を行うことができます。
Matcher unwantedMatcher = UNWANTED_SYMBOLS.matcher(clean);
clean = unwantedMatcher.replaceAll("");
数回以上実行されるループの中で置換を使用する必要がある場合は、この方法がより効率的です。
関連
-
[解決済み】JLabelのテキストを中央に配置するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] なぜパスワードにはStringではなくchar[]が好まれるのですか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み】JavaScriptで文字列の出現箇所をすべて置換する方法
-
[解決済み】大文字・小文字を区別しない「Contains(string)
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] java.sql.SQLException: ユーザー 'root'@'localhost' (using password: YES) のためのアクセスが拒否されました。
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】スレッド「main」での例外 java.lang.StringIndexOutOfBoundsException: 文字列のインデックスが範囲外です。0 [閉店]
-
[解決済み】ResultSetの例外 - 結果セットの開始前
-
[解決済み] メソッドがスーパータイプのメソッドをオーバーライドまたは実装していない - Overrideの場合
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】koch snowflake java recursion
-
[解決済み] 正規表現でエスケープしなければならない特殊文字は何ですか?