次のような非ASCII文字を含むURIがあります。
http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl�ttrigeSomerzischeruchtanb _
このURIから「�」を削除するにはどうすればよいですか
次のような非ASCII文字を含むURIがあります。
http://www.abc.de/qq/qq.ww?MIval=typo3_bsl_int_Smtliste&p_smtbez=Schmalbl�ttrigeSomerzischeruchtanb _
このURIから「�」を削除するにはどうすればよいですか
URLのソースはもっと間違っていると思います。おそらくあなたは間違った問題を修正していますか?URIから「奇妙な」文字を削除すると、まったく異なる意味が与えられる可能性があります。
そうは言っても、単純な文字列置換ですべての非ASCII文字を削除できる可能性があります。
String fixed = original.replaceAll("[^\\x20-\\x7e]", "");
または、「�」文字が含まれていない場合は、4バイト以外のすべてのUTF-8文字に拡張できます。
String fixed = original.replaceAll("[^\\u0000-\\uFFFF]", "");
yourstring=yourstring.replaceAll("[^\\p{ASCII}]", "");
いいえいいえいいえいいえいいえ、これはASCIIではありません... [^\x20-\x7E]
これは本当のASCIIです:[^\x00-\x7F]
それ以外の場合は、ASCIIテーブルの一部である改行やその他の特殊文字を削除します。
文字列から非ASCII文字を削除するには、以下のコードが有効でした。
String str="<UPC>616043287409ÂÂÂÂ</UPC>";
str = str.replaceAll("[^\\p{ASCII}]", "");
出力:
<UPC>616043287409</UPC>
GuavaCharMatcherを使用する
String onlyAscii = CharMatcher.ascii().retainFrom(original)