使用通配符类型搜索查找并替换字符串的一部分

发布于 2024-08-31 21:39:02 字数 505 浏览 2 评论 0原文

我希望能够读取文件,并

用 S1800 替换 M9S1800.2 的所有实例(我想删除 M9 和 .2)。

我遇到的问题是“S”后面的 4 位数字每次都可能不同,小数点后的数字也是如此。

例如,

它可以是:M9S3200.1 或 M9S5400.1 或 M9S5400.2

有人可以告诉我如何使用 C# 执行此操作吗?

我知道如何使用此代码查找和替换:

StreamReader reader = new StreamReader(fDialog.FileName.ToString());
string content = reader.ReadToEnd();
reader.Close();

content = Regex.Replace(content, "M2", "M3");

但对于 M9S3200.1,我想进行通配符类型替换。例如,就像用 S* 替换 M9S*.1,这样 M9S3200.1 就会变成 S3200。

I want to be able to read a file, and replace all instances of:

M9S1800.2 with S1800 (I want to get rid of the M9 and the .2).

The problem I am having is that the 4 digit number after the "S" can be different every time, as well as the number after the decimal.

For example,

It can be: M9S3200.1 or M9S5400.1 or M9S5400.2

Can someone please show me how to do this with C#?

I know how to find and replace by using this code:

StreamReader reader = new StreamReader(fDialog.FileName.ToString());
string content = reader.ReadToEnd();
reader.Close();

content = Regex.Replace(content, "M2", "M3");

but with the M9S3200.1, I want to do a wildcard type replace. For example it would be like replace M9S*.1 with S* so M9S3200.1 would just become S3200.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

眼泪淡了忧伤 2024-09-07 21:39:02
content = Regex.Replace(content, @"M9(S\d{4})\.\d", "$1");
content = Regex.Replace(content, @"M9(S\d{4})\.\d", "$1");
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文