1

そのため、最近質問を開き、正規表現を使用して解決しました。私が使用した正規表現は、基本的に英語以外のすべての文字を食べました。

これを再試行してみましょう:

文字列に存在する可能性のあるキーボード以外の文字をすべて食べたい

私が使用している正規表現は次のとおりです。

[^\\p{L}\\p{N}]

ただし、これは次のようになります

2012/10/10 10:51:25 午前

の中へ

10102012105125AM

replaceALL を使用して文字列からすべての代替コード文字を簡単に除外し、 % / \ : などのキーボード文字をそのままにしておく方法はありますか?

ありがとう!

4

3 に答える 3

2

おそらく、ASCII 文字だけを保存したいでしょう。文字範囲[ -~]はそれを達成します。空白文字も必要な場合は、次の場所に追加できます[ -~\s]

System.out.println(input.replaceAll("[^ -~\\s]+", ""));
于 2012-10-11T19:04:29.763 に答える
1

すべての非 ASCII 文字を削除するには:

String mystring = <your_input_string>;
mystring.replaceAll("[^ -~\\s]+", "");
于 2012-10-11T19:07:34.157 に答える
0

どう\p{Print}ですか?それはあなたがまさに必要としているもののように聞こえる、すべての印刷可能な文字と一致します。

于 2012-10-11T19:08:09.480 に答える