2013-10-28 129 views
0

我在刪除下列特殊chacters麻煩:正則表達式來刪除特殊字符(拉丁語1)

輸入:

好奇找到了水,高氯酸鹽€œSurprisingâ€金額在火星上

想要的輸出:

好奇心發現「令人驚訝」水量,Perchlora te在火星上

只需要將「轉換爲」。

由於提前 羅希特以達到

+4

這裏的輸入來自哪裏?似乎更多的是編碼問題,然後是別的東西。 – Enrichman

+0

在發送之前嘗試使用URLEncode.encode(your_string,「UTF-8」)。當你收到它時,你可以解碼它。 – Michael

回答

1

一種方法是刪除所有非ASCII字母是這樣的:

str = str.replaceAll("[^\\u0000-\\u007f]+", ""); 
0

這裏是你要求的確切的事情:

import java.util.*; 
import java.lang.*; 
import java.io.*; 

class Ideone 
{ 
    public static void main (String[] args) throws java.lang.Exception 
    { 
     String str = "Curiosity Finds “Surprising†Amounts of Water, Perchlorate On Mars"; 
     str = str.replaceAll("\\u00E2\\u20AC\\u0153?", "\""); 
     System.out.println("str="+str); 
    } 
} 

輸出:

水,高氯酸鹽的

海峽=好奇心查找「令人驚訝」的金額在火星上

您可以在這裏嘗試一下:http://ideone.com/WHCXUj

而且以供將來參考,方便的在線Unicode字符查找是在這裏:http://unicodelookup.com

下面是我如何使用它,例如:http://unicodelookup.com/#/ 1