替换字符串中最后一次出现的单词 - C#

2024-04-06

我有一个问题,我需要替换字符串中最后一次出现的单词。

情况:我得到了一个格式如下的字符串:

string filePath ="F:/jan11/MFrame/Templates/feb11";

然后我替换TnaName像这样:

filePath = filePath.Replace(TnaName, ""); // feb11 is TnaName

这可行,但我遇到问题TnaName和我的一样folder name。当这种情况发生时,我最终会得到这样的字符串:

F:/feb11/MFrame/Templates/feb11

现在它已经取代了两次出现的情况TnaName with feb11。有没有一种方法可以只替换字符串中最后一次出现的单词?

Note: feb11 is TnaName它来自另一个进程 - 这不是问题。


这是替换最后一次出现的函数string

public static string ReplaceLastOccurrence(string source, string find, string replace)
{
    int place = source.LastIndexOf(find);
    
    if (place == -1)
       return source;
    
    return source.Remove(place, find.Length).Insert(place, replace);
}
  • source是要对其执行操作的字符串。
  • find是您要替换的字符串。
  • replace是您要替换的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

替换字符串中最后一次出现的单词 - C# 的相关文章