[英]Remove escaped unicode string in java with regex
我有下面的字符串
"them coming \nLove it \ud83d\ude00"
我要刪除此字符"\?\?"
。 所以會的
"them coming \nLove it "
如何在Java中實現呢? 我已經嘗試過使用下面的代碼,但無法正常工作
payload.toString().replaceAll("\\\\u\\b{4}.", "")
謝謝 :)
我認為\\\\\\\\u\\\\b{4}.
將不起作用,因為正則表達式將\?
視為符號......,而不是文字字符串。 因此,要匹配這種不需要的(出於任何原因)unicode字符,最好排除您接受(不想替換)的字符,因此,對於所有ASCII字符,請與其他所有字符(要替換的字符)匹配。 嘗試:
[^\x00-\x7F]+
\\x00-\\x7F
包含Unicode Basic Latin塊 。
String str = "them coming \nLove it \ud83d\ude00";
System.out.println(str.replaceAll("[^\\x00-\\x7F]+", ""));
結果將是:
他們來了
愛它
但是,如果使用國家字符,其他任何非ASCII符號(ś,±,♉,☹等),您都會遇到問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.