2017-02-07 3 views
1

ちょっと文字列を消毒したいだけです.ZAZ(英語以外の他の言語も)を許可しています。ReplaceAll([^a-z 0-9,])を実行しようとしましたが、削除しています。誰かが私に特別なキャラクターだけをサニタイズすることができますか、それからemojisを削除しない方法を教えてもらえますか? Javaでaz-0-9の文字列のすべての文字を置き換えてください。

+0

'ReplaceAll()'はPHP関数でさえありません... – Naruto

+0

'str.replaceAll(" [^ \\ p {L}] + "、" ");' – anubhava

+0

'それは他の言語を削除しているということですか? – Moira

答えて

0

あなたは正規表現[^\p{L}\p{Nd}]+一致ユニコード文字または小数一切ありませんすべての文字

yourString.replaceAll("[^\\p{L}\\p{Nd}]+", ""); 

を行うことができます。

は、あなたは次のように正規表現[^\\p{L}]+を使用することができる唯一の文字(ない番号)が必要な場合:

yourString.replaceAll("[^\\p{L}]+", ""); 
0

あなたはAZと0-9文字のASCIIコードを取得してみてください、そして可能性があり、現在の文字の場合ではありません。のいずれか、あなたが望むことをしてください。 文字のASCII値を取得する方法については、hereを参照してください。

EDIT:a-zと0-9の文字は互いに隣り合っています。したがって、現在の文字がこれらの文字のいずれかであるかどうかを返す単純な関数を書いてください。そうでない場合は、置き換えてください。boolean これについては、1つずつ交換する必要があります。私はこの正規表現をテストし、それが動作します私の知る限りまし

0

...

String result = yourString.replaceAll("[^a-zA-Z0-9]", ""); 

それはセットで-Z、-Z、または何も0-9でない任意の文字に置き換えられます。

関連する問題