我有一个问题,我需要替换字符串中最后一个单词.
情况:我得到一个字符串,格式如下:
string filePath ="F:/jan11/MFrame/Templates/feb11";
Run Code Online (Sandbox Code Playgroud)
然后我这样替换TnaName:
filePath = filePath.Replace(TnaName, ""); // feb11 is TnaName
Run Code Online (Sandbox Code Playgroud)
这有效,但我遇到的问题TnaName与我的相同folder name.当发生这种情况时,我最终得到一个这样的字符串:
F:/feb11/MFrame/Templates/feb11
Run Code Online (Sandbox Code Playgroud)
现在,它已经取代两次出现的TnaName用feb11.有没有办法可以只替换字符串中最后一次出现的单词?
注:feb11是TnaName它来自另一个进程-这不是一个问题.
Beh*_*der 159
这是替换最后一次出现的字符串的函数
public static string ReplaceLastOccurrence(string Source, string Find, string Replace)
{
int place = Source.LastIndexOf(Find);
if(place == -1)
return Source;
string result = Source.Remove(place, Find.Length).Insert(place, Replace);
return result;
}
Run Code Online (Sandbox Code Playgroud)
Source 是要执行操作的字符串.Find 是要替换的字符串. Replace 是要替换它的字符串.你必须手动进行替换:
int i = filePath.LastIndexOf(TnaName);
if (i >= 0)
filePath = filePath.Substring(0, i) + filePath.Substring(i + TnaName.Length);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53743 次 |
| 最近记录: |