繁体   English   中英

C#-转义分号和双引号

[英]C# - escaping semicolon and double quotes

你如何更换; 与“;”? 我从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

采用:

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

两者都必须是char或string。

使用双引号:

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

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();
        }
    }

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM