用单引号替换双引号

时间:2013-03-17 01:25:07

标签: c# replace

我在c#中有以下字符串:

string ptFirstName = tboxFirstName.Text;

ptFirstName返回:"John"

我希望将其转换为'John'

我尝试过以下各种变体,但我永远无法用单引号替换双引号:

ptFirstName.Replace("\"", "'");

任何人都可以启发我吗?

我的目标是将其写入XML文件:

writer.WriteAttributeString("first",ptFirstName);   // where ptFirstName is 'John' in single quotes.

3 个答案:

答案 0 :(得分:18)

原因

ptFirstName.Replace("\"", "'");

不起作用是string是不可变的。你需要使用

ptFirstName = ptFirstName.Replace("\"", "'");

代替。这是demo on ideone

答案 1 :(得分:1)

我猜你没有在文本框中键入"John",只是John,当你设置一个断点并在visual studio中查看变量时,你会看到字符串周围的引号?

如果是这样,那么意识到引号不是字符串的一部分,而只是向你指示该值是一个字符串。它们由调试器添加。如果你这样做:

Console.WriteLine(ptFirstName);

你不会看到报价。

答案 2 :(得分:0)

writer.QuoteChar ='\'';

有关详细信息,请参阅http://msdn.microsoft.com/en-ca/library/system.xml.xmltextwriter.quotechar.aspx