请考虑以下代码段
public static string AppendDateTimeToFileName(this string fileName)
{
return string.Concat(
Path.GetFileNameWithoutExtension(fileName),
DateTime.Now.ToString("yyyyMMddHHmmssfff"),
Path.GetExtension(fileName));
}
这基本上会在用户上传的任何文件上添加日期时间戳。现在这很好用的是文件名就像
现在我尝试更改此方法,以便文件名如
我希望文件名成为
如果使用regex
或类似内容轻松解决此问题,或者我必须再次重新编写该方法并逐个检查每个值。
答案 0 :(得分:3)
return string.Concat(
Regex.Replace(Path.GetFileNameWithoutExtension(fileName), @" - Copy\s*\(\d+\)", "-Copy-", RegexOptions.IgnoreCase),
DateTime.Now.ToString("yyyyMMddHHmmssfff"),
Path.GetExtension(fileName));
这匹配任意数量的数字并且是全局替换。