我有一个字符串(来自文件名),如下所示:Mytext_edit1345.jpg
我只是想削减" _edit1345"所以我可以得到Mytext.jpg
。
Regex.Replace
是最适合我的方式吗?
string result = Regex.Replace(Bildname, pattern, "");
我需要什么样的模式?
答案 0 :(得分:2)
将String.Substring
与Path.GetExtension
一起使用,如:
string fileName = "Mytext_edit1345.jpg";
string newFileName = fileName;
if (fileName.Contains('_'))
{
newFileName = fileName.Substring(0, fileName.IndexOf('_')) +
Path.GetExtension(fileName);
}
答案 1 :(得分:2)
您可以使用Path
类和字符串方法,例如String.Remove
string fileNameWOE = Path.GetFileNameWithoutExtension(fileName);
int indexOfUnderscore = fileNameWOE.IndexOf('_');
if(indexOfUnderscore >= 0)
fileNameWOE = fileNameWOE.Remove(indexOfUnderscore);
fileName = fileNameWOE + Path.GetExtension(fileName);
答案 2 :(得分:1)