簡體   English   中英

使用Java正則表達式將非ASCII字符替換為ASCII代碼

[英]Replace non-ascii character by ascii code using java regex

我有這樣的字符串,例如T 8.ESTÜTESTतुम मेरी 現在使用Java正則表達式,我要用其等效代碼替換非ASCII字符Üतुम मेरी

我怎樣才能做到這一點?

我可以用任何其他字符串替換它。

String str = "T 8.ESTÜTESTतुम मेरी";
String resultString = str.replaceAll("[^\\\\p{ASCII}]", ""); System.out.println(resultString);

打印T 8.ESTTEST

抱歉,我不知道如何使用單個正則表達式來執行此操作,請檢查是否適合您

    String str = "T 8.ESTÜTESTतुम मेरी";

    StringBuffer sb = new StringBuffer();
    for(int i=0;i<str.length();i++){
        if (String.valueOf(str.charAt(i)).matches("[^\\p{ASCII}]")){
            sb.append("[CODE #").append((int)str.charAt(i)).append("]");
        }else{
            sb.append(str.charAt(i));
        }
    }
    System.out.println(sb.toString());

版畫

T 8.EST[CODE #220]TEST[CODE #2340][CODE #2369][CODE #2350] [CODE #2350][CODE #2375][CODE #2352][CODE #2368]

問題似乎在於如何告訴正則表達式如何將找到的內容轉換為代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM