2011-10-28 41 views
10

我想用C#替換直引號(」)。如何替換直引號(「)

我可能失去了一些東西小,但我不能用正常的string.Replace();

someWord.Replace(@""", "&");

我可以用普通的string.Replace();做,或做我需要使用Regex怎麼做呢?如果是後者,Regex會被替換成什麼樣子?

+0

雖然您可能想使用(我認爲內置的)urlencode函數:http://msdn.microsoft.com/en-us/library/zttxte6w.aspx如果這實際上是你想要做的。 – Dan

回答

18

我Heinzi同意,你應該使用"代替&,並&意味着 「&」 順便說一句,調用替換方法之後,不要忘記設置價值再someword:

someWord = someWord.Replace("\"", """); 

還有另一種方法來做到這一點。添加參考System.Web,並使用System.Web; then:

someWord = HttpUtility.HtmlEncode(someWord);

+0

這會替換所有特殊字符嗎? '(HttpUtility.HtmlEncode(someWord);)' – Willem

+1

@Willem是的,它會的。如果您只想替換直引號,請勿使用它。 – ojlovecd

+0

太好了。將節省我很多時間。謝謝 – Willem

10
someWord.Replace("\"", "&"); 

someWord.Replace(@"""", "&"); 

(行情轉義爲普通字符串\"""在逐字字符串。)

但你可能是指

someWord.Replace("\"", """); 

因爲HTML實體對於直引號是",而不是&

1
someWord.Replace(@"""", "&"); 

someWord.Replace("\"", "&");