我有一个问题,我需要替换字符串中最后一次出现的单词。
情况:我得到一个字符串,格式如下:
string filePath ="F:/jan11/MFrame/Templates/feb11";
然后我像这样替换 TnaName
:
filePath = filePath.Replace(TnaName, ""); // feb11 is TnaName
这行得通,但是当 TnaName
与我的 文件夹名称
相同时,我遇到了问题。发生这种情况时,我最终会得到这样的字符串:
F:/feb11/MFrame/Templates/feb11
现在它已用 feb11
替换了 TnaName
。有没有一种方法可以只替换字符串中最后一次出现的单词?
注意:feb11
是来自另一个进程的 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
是您要替换的字符串。
关于c# - 替换字符串中最后一次出现的单词 - C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14825949/