如何使用string.Insert c#在字符串中间插入撇号

时间:2014-10-23 08:41:24

标签: c# string

我有一堆字符串,我循环。我想在任何带有撇号的字符串中插入撇号时插入撇号。我只是做下面的事情。

string strStatus =  "l'oreal";

index = strStatus.IndexOf("'");
strStatus.Insert(index, "  '  ");

我希望输出像l''oreal。但这失败了。我尝试使用转义模式

   strStatus.Insert(index, "  \'  ");

一切都无济于事。请问我该如何实现这一目标?任何建议/帮助都非常感谢。

3 个答案:

答案 0 :(得分:4)

字符串是不可变的。 Insert返回带有2个撇号的新字符串,它不会以任何方式修改strStatus。您的代码只会丢弃Insert的结果。

你应该尝试:     string strStatus =“l'oreal”;

index = strStatus.IndexOf("'");
string newStatus=strStatus.Insert(index, "'");

答案 1 :(得分:0)

字符串在.NET(和Java)中是不可变的,这意味着Insert不会修改strStatus,而是会返回一个新实例,该实例具有您之后的修改。

这样做:

String status = "L'Oreal";
status = status.Insert( status.IndexOf('\''), "'" );

答案 2 :(得分:0)

字符串在C#中是不可变的,因此它的所有方法都不会修改字符串本身 - 它们返回修改后的副本。这应该有效:

strStatus = strStatus.Insert(index, "  '  ");