从文本文件中删除某个字符串的最后一个实例,而不更改该字符串的其他实例

fra*_*Xis 5 c# regex string text replace

我有一个C#程序,我使用很多RegEx.Replace替换文本文件中的文本.

这是我的问题.

在我的文本文件中,我有一个代码,如"M6T1".此代码列在文本文件的许多位置.

但是,我只想从文本文件的底部(最后一个实例)中删除它.文本文件底部始终会有"M6T1",但并不总是最后一行.它可能是从底部开始的第3行,从底部开始的第5行等.

我只想摆脱"M6T1"的最后一个例子,所以RegEx.Replace在这里不起作用.我不想干扰文本文件中其他位置的其他"M6T1".

有人可以帮我解决这个问题吗?

谢谢

kev*_*ner 15

var needle = "M6T1";
var ix = str.LastIndexOf(needle);
str = str.Substring(0, ix) + str.Substring(ix + needle.Length);
Run Code Online (Sandbox Code Playgroud)

  • @egrunin - 使用`needle`和`haystack`是PHP做的少数事情之一. (2认同)