首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#从以特定单词开头的文件中删除一行

C#从以特定单词开头的文件中删除一行
EN

Stack Overflow用户
提问于 2021-04-13 14:06:57
回答 1查看 366关注 0票数 0

从以C#中的特定单词开头的文件中删除一行的有效和优雅的方法是什么?如果行中任何地方都包含特定的单词,我知道如何删除它,但我在删除以特定单词开头的行时遇到了困难。谢谢!

EN

Stack Overflow用户

回答已采纳

发布于 2021-04-13 14:21:02

首先,我们应该定义“以特定的单词开头”的含义。

  • 如果word只是一个子字符串,那么string.StartsWith就足够了;如果
  • 是后续字母,那么我们可以尝试正则表达式

代码。子字符串案例:

代码语言:javascript
运行
复制
 using System.IO;
 using System.Linq;

 ...

 string fileName = @"c:\myFile.txt";

 File.WriteAllLines(fileName, File
   .ReadLines(fileName)
   .Where(line => !line.StartsWith(myWord))
   .ToArray());

正则表达式大小写:

代码语言:javascript
运行
复制
 using System.IO;
 using System.Linq;
 using System.Text.RegularExpressions;

 ...

 string fileName = @"c:\myFile.txt";

 Regex regex = new Regex($@"^{Regex.Escape(myWord)}\b");

 File.WriteAllLines(fileName, File
   .ReadLines(fileName)
   .Where(line => !regex.IsMatch(line))
   .ToArray());
票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67076474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档