【问题标题】:how to replace multiple occurrences of a substring in C#如何在C#中替换多次出现的子字符串
【发布时间】:2013-04-20 15:53:33
【问题描述】:

我刚开始学习 C#,如果文本没有用空格分隔,我试图用 \ 替换文本文件中某个子字符串的所有出现。最简单的方法是什么? 谢谢。

【问题讨论】:

  • 您能否举例说明输入和输出可以和应该是什么?从你的问题中理解你的意思有点困难。
  • 我学习了 Python 编程,本周刚开始使用 C#,所以说实话,我什至还没有找到正确的解决方案。
  • @minitech 我正在尝试解析一个 txt 文件并将每次出现的子字符串“BACKS”更改为实际的“\”。

标签: c# string replace


【解决方案1】:
  1. 读入你的文件:

    var fileContents = System.IO.File.ReadAllText(@"C:\YourFile.txt");
    
  2. 替换文字:

    fileContents = fileContents.Replace("BACKS", "\\"); 
    
  3. 将文件写入文件系统:

    System.IO.File.WriteAllText(@"C:\YourFile.txt", fileContents);
    

【讨论】:

    【解决方案2】:

    如果你想使用正则表达式

    简单而单一的语句

    File.WriteAllText("c:\\test.txt", Regex.Replace(File.ReadAllText("c:\\test.txt"), @"\bBACKS\b", "\\"));
    

    【讨论】:

    • 感谢 Civa,它也运行良好。为什么在使用正则表达式时我需要在路径上使用双 \\ 而不是在使用 MUG4N'S 方法时使用单 \?
    • 这是因为我的代码中有 @ 符号。见:stackoverflow.com/questions/556133/…
    猜你喜欢
    • 1970-01-01
    • 2017-04-16
    • 1970-01-01
    • 2020-05-22
    • 1970-01-01
    • 1970-01-01
    • 2016-07-10
    • 2016-05-07
    • 2021-11-24
    相关资源
    最近更新 更多