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

标签 c# asp.net

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

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

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/

相关文章:

c# - 将 C# 函数指针传递到 C++/CLI 互操作 dll

c# - 多应用服务器环境和 Memcached 安全

c# - 在母版页中添加内容页的控件

asp.net - 使用 ASP.net 检测 iPad

c# - 如何检查是否脏,但保存时不检查?

c# - 如何在WPF中的图像上制作透明 Canvas ?

java - C# 与 Java 中的日期时间操作

C# Oledb like 语句不返回任何结果

asp.net - 防止 TextBox 中的特殊字符

c# - 我应该将什么指定为 ClientBuildManager 构造函数的 "target folder"参数?