我的java程序從API獲取一些天氣信息。但它在文本中有怪異的字母。看起來像ASCII碼。如何從JTextArea中刪除Ascii代碼?
這裏是一個例子: 最低溫度:0 ° C(32 ° F)應該是:最低溫度:0C(32F)(我認爲)。
我怎樣才能改變呢?
我的java程序從API獲取一些天氣信息。但它在文本中有怪異的字母。看起來像ASCII碼。如何從JTextArea中刪除Ascii代碼?
這裏是一個例子: 最低溫度:0 ° C(32 ° F)應該是:最低溫度:0C(32F)(我認爲)。
我怎樣才能改變呢?
好一個解決方案可以發佈你可以做以下之前
String withoutDegSymbol = str.replaceAll("°", "");
其中str包含了你的溫度數據。
感謝您的文章,但沒有工作。:/ –
試試這個
String s = "0°C (32°F)".replaceAll("[\u0080-\u00FF]", "");
,或者如果你有你的文字HTML字符引用使用
String s = "Min temp: 0°C (32°F)".replaceAll("&#x.+?;", "");
謝謝,但沒有奏效。 :/ –
檢查我的更新 –
謝謝你的幫助。它可以工作,但是當天氣是0C和32F時,我可以使用這條線,但是我的api自己獲取天氣信息,所以我需要更一般的東西來改變所有的度數標誌。 Somethig就像每當有'°'用'替換它。 –
如果使用在你的代碼ASCII字符編碼,當你保存你的代碼,沒有你的IDE問你用什麼格式來保存它。因爲在Eclipse IDE中,如果您使用的是ASCII字符,它會提示您將代碼保存爲UTF-8格式。希望這可以幫助。
是的,實際上我不記得我選擇了哪一個,第一次選擇'ok'並且什麼都沒發生,但是下次我選擇了UTF-8並且我的代碼沒有工作,所以我重新做了我所做的。 –
你需要知道:
°
:
所以如果這是你有的正義問題(我的意思是這是你使用「度符號」的唯一字符),所以你可以轉換它manu盟友就像那個:
String s = "Min temp: 0°C (32°F)".replaceAll("°", "°");
System.out.println(s);
如果這不是你有特殊字符,所以您可以使用:Class StringEscapeUtils 或jsoup library將其轉換成Java
謝謝它運行良好,但結果是0和32的所有情況下,實際上它應該從api得到天氣,每次都是不同的。我希望有一種方法只能改變溫帶標誌,現在只能改變數字。 –
溫度*抱歉。 –
你能舉個例子嗎? –
駕駛室您發佈的代碼? –
@ Alya'aGamal對不起,當我發送帖子時,它將代碼更改爲實際字符。這是另一個例子:'最低溫度:-5 ° C(23 ° F)' –
是「-5&#xB0」是輸出?什麼是輸入? –