C#-转义分号和双引号

时间:2019-02-28 03:36:16

标签: c# .net

如何更换;与“;”?我从SO尝试了几种方法:

input: sometext,sometext
desired output: sometext","sometext

string s = "sometext,sometext".Replace(',' , "\";\"")
--Error: cannot convert from string to char

string s = "sometext,sometext".Replace(',' , '\";\"')
--Error: Too many characters in character literal

string s = "sometext,sometext".Replace(';', @""";""")
--Error: cannot convert from string to char

4 个答案:

答案 0 :(得分:3)

使用:

string s = "sometext,sometext".Replace("," , "\";\"");

都必须是char或string。

答案 1 :(得分:1)

使用双引号:

string s = "sometext,sometext".Replace(",", "\";\"");

答案 2 :(得分:1)

string.Replace有两种重载方法。一个接受两个参数为char的参数,另一个接受字符串的参数。您将两者混为一谈,并且没有与该参数类型匹配的方法,这就是导致此错误的原因。

您可以使用以下代码将“”替换为“;”

class Program
    {
        static void Main(string[] args)
        {
            string original = "some text, some other text";

            string processed = original.Replace(",", "\";\"");

            Console.WriteLine(processed);

            Console.ReadKey();
        }
    }

答案 3 :(得分:0)

根据先前的答案,如此接近,仍然为时已晚,您需要将单引号替换为双引号,这样才能调用正确的重载,然后进行类似的操作

string s = "sometext,sometext".Replace(",", "\"" + ";" + "\"");