2010-03-16 33 views

回答

17

你需要使用這些引號內的雙引號(並獲得返回值 - 與string.replace不會對字符串本身進行操作,它返回一個新的字符串):

name = name.Replace(""""," ") 
+0

在會做替換,但作爲一個片段,似乎給人的印象就會到位發生。它不會,一新的字符串被返回(我確信*你*知道,只是說我會在答案中明確)。 – 2010-03-16 08:28:09

1

,你應該用雙返回結果字符串返回一個字符串,也逃脫雙引號報價或「\」

name = name.Remove("""", String.Empty) 
+3

你不能在VB.Net中轉義字符串 – 2010-03-16 08:50:53

10

代替的 「數據鏈路逃脫」 的方法...

name = name.Replace("""", "") 

你可能是明確的,有點更具可讀性...

name = name.Replace(ControlChars.DblQuote, "") 

而且順便說一句,而不是認爲這是返回一個新的STRING;最好將REPLACE看作與'name'實例關聯的STRING類的一部分。如果它失去了你不想要的舊名稱,那麼就簡單地...

Dim aNewString$ = name.Replace(ControlChars.DblQuote, "") 

'name'將保持不變。

7
name = name.Replace(Chr(34), "") 
+0

http://yorktown.cbe.wwu。 edu/sandvig/shared/ASCIICodes.aspx提供可用的ASCII字符列表。 – Toshihiko 2016-05-05 04:13:16

+0

這解決了我在Acunetix測試中的問題 – 2016-10-31 12:35:56

0

我有一個討厭的,試着盡我所能,我不能得到Replace()工作。最後,原來我試圖清理的字符串有一個完全不同的字符,只是看起來像雙引號。一位天才已經使用Word編輯了一個腳本文件,因此"hello"變成了「hello」。微妙的,還是什麼? 用十六進制編輯器查看文件時,開始報價是三個字符值0xe2 0x80 0x9c,更接近的是0xe2 0x80 0x9d。難怪替換失敗!

0

「這部分是刪除「標記的字符串

Dim GetDate31 As String = Date31(16).Replace(Chr(34), "")