我想在多个文件路径中删除多余的空格,因为审查时的文件路径相当长。
例如,我有这个文件路径:
C:\TEST Filepath\TEST Filepath\TEST Filepath\..\File.doc
并希望它成为:
C:\TEST Filepath\TEST Filepath\..\File.doc
我有数百个这样的文件路径,想知道是否有快速有效的方法从中删除多余的空间?
非常感谢。
答案 0 :(得分:1)
在备用磁盘上尝试使用一小组。请小心。
void RemoveExtraSpace(string sourceDir)
{
var filePaths = Directory.GetDirectories(sourceDir, "*.*", SearchOption.AllDirectories);
Regex rx = new Regex(@"\s\s+");
for(int x = filePaths.Length - 1; x >= 0; x--)
{
string cur = filePaths[x];
DirectoryInfo di = new DirectoryInfo(cur);
if(rx.IsMatch(di.Name))
{
string result = Regex.Replace(di.Name, @"\s\s+", " ");
result = Path.Combine(di.Parent.FullName, result);
Directory.Move(di.FullName, result);
}
}
}