【问题标题】:C# string replaceC# 字符串替换
【发布时间】:2013-05-26 05:15:53
【问题描述】:

我想在我的字符串中将"," 替换为;

例如:

改变

"文本","文本","文本",

到这里:

"文字;文字;文字",

我一直在尝试line.replace( ... , ... ),但无法正常工作。

【问题讨论】:

  • 什么不能正常工作?

标签: c# string replace str-replace


【解决方案1】:

试试这个:

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

【讨论】:

    【解决方案2】:

    您需要转义搜索字符串中的双引号,如下所示:

    string orig = "\"Text\",\"Text\",\"Text\"";
    string res = orig.Replace("\",\"", ";");
    

    请注意,替换不会“就地”发生,因为 .NET 字符串是不可变的。调用后原字符串保持不变;只有返回的字符串 res 会有替换。

    【讨论】:

      【解决方案3】:

      用途:

      line.Replace(@""",""", ";");
      

      【讨论】:

        【解决方案4】:
        var str = "Text\",\"Text\",\"Text";
        var newstr = str.Replace("\",\"", ";");
        

        【讨论】:

          【解决方案5】:

          确保正确转义引号。

            string line = "\"Text\",\"Text\",\"Text\",";
          
            string result = line.Replace("\",\"", ";");
          

          【讨论】:

            【解决方案6】:

            最简单的方法是做

            line.Replace(@",", @";");
            

            输出如下:

            【讨论】:

            • 这没有回答问题,因为引号没有被删除。
            【解决方案7】:

            replace()方法的使用

            这里我将旧值替换为新值:

            string actual = "Hello World";
            
            string Result = actual.Replace("World", "Stack Overflow");
            
            ----------------------
            Output : "Hello Stack Overflow"
            

            【讨论】:

              【解决方案8】:

              您不能使用 string.replace...因为分配了一个字符串,您无法操作。为此,我们使用字符串生成器。这是我的例子。在 HTML 页面中,我添加了 [Name] 替换为 Name。确保 [Name] 是唯一的,或者您可以提供任何唯一的名称:

              string Name = txtname.Text;
              string contents = File.ReadAllText(Server.MapPath("~/Admin/invoice.html"));
              
              StringBuilder builder = new StringBuilder(contents);
              
              builder.Replace("[Name]", Name);
              
              StringReader sr = new StringReader(builder.ToString());
              

              【讨论】:

                【解决方案9】:

                在字符串中设置您的文本框值,例如:

                string MySTring = textBox1.Text;
                

                然后替换你的字符串。例如,将“Text”替换为“Hex”:

                MyString = MyString.Replace("Text", "Hex");
                

                或者针对您的问题(将“,”替换为;):

                MyString = MyString.Replace(@""",""", ",");
                

                注意:如果字符串中有“”,则必须在“”后面使用@,例如:

                @"","";
                

                【讨论】:

                  猜你喜欢
                  • 2013-04-01
                  • 2010-12-06
                  • 2011-10-20
                  • 2014-04-11
                  • 2014-07-30
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多