2013-06-01 49 views
1

這是我的字符串:無法從字符串中刪除單引號?

String str = "CREATE TABLE `patiant` ( `ID` varchar(45) NOT NULL, `PATIANT_NAME`..."; 

我嘗試使用replacereplaceAll方法,但沒有奏效。
在這裏你可以看到我心中已經嘗試過,我不知道爲什麼它不工作:

  1. temp = str.replace("'","");
  2. temp = str.replaceAll("(^')","");

如何從字符串中刪除所有報價
由於

+4

如果要刪除回你在你的代碼這麼說報價。你不能刪除看起來像單引號的任何符號,並期望它知道你的意思是發生了什麼。 –

+0

@PeterLawrey:謝謝,對不起,我沒有提到它,實際上我不知道它是反引號而不是單引號,如果我認識到它,我不會問這個問題:)。 – Azad

+1

有時候我不知道我在看什麼字符我使用複製和粘貼到代碼中。 ;) –

回答

2

您所有的報價都是grave accents(`),所以您要更換錯誤的報價類型。因此,嘗試這個:

temp = str.replaceAll("`",""); 
+0

你好嗎確定它不是一個簡單的反勾號或反引號? –

+0

@PeterLawrey對不起,不知道你的意思 - 如果這就是你的意思,重音是一個反作用。 – jazzbassrob

+0

對不起,我發現術語混淆爲à,è,ì,ò,ù都有嚴重的口音,但是你的查找和替換不會觸及那些。 –

1

輸入String包含反引號而不是單引號因此這些需要被替換,而不是後者:

要麼

temp = str.replace("`", ""); 

temp = str.replaceAll("`", ""); 

將執行正確更換

0

這裏的代碼,這樣就可以分辯現在證明:


public class TestMain { 

public TestMain() { 
    // TODO Auto-generated constructor stub 
} 


public static void main(String[] args) { 

    String str = "CREATE TABLE `patiant` ( `ID` varchar(45) NOT NULL, `PATIANT_NAME`..."; 
    String new_string_remplace = str.replaceAll("`",""); 
    System.out.println(new_string_remplace); 
    //RESULT: CREATE TABLE patiant ( ID varchar(45) NOT NULL, PATIANT_NAME... 

} 

} 

注:替換字符串java.lang.String.replaceAll(正則表達式的字符串,字符串替換)。

將此字符串的每個子字符串替換爲給定替換的給定正則表達式。

形式str.replaceAll的這個方法調用(正則表達式,REPL)產生完全相同的結果作爲表達式