使用.NET中的正则表达式重命名文件?

时间:2014-10-08 01:36:47

标签: .net regex

可以编写正则表达式,并使用以下文件名作为输入:

4214690028_6.mp3
178146230886_001.waV
178146230886_999.Wav
178146230886_0001.mP3
NoUnderscore3088003.wav

字符串输出如下:

6_4214690028.mp3
001_178146230886.waV
999_178146230886.Wav
0001_178146230886.mP3
NoUnderscore3088003.wav - 未触及


只是想知道除了.NET Regex类之外是否甚至可行。

2 个答案:

答案 0 :(得分:2)

是的,如果必须使用正则表达式,则可以完成。

String s = "4214690028_6.mp3";
String r = Regex.Replace(s, @"^(\d+)_(\d+)\.([^.]+)$", "$2_$1.$3");
Console.WriteLine(r); // => "6_4214690028.mp3"

Regex Explanation

答案 1 :(得分:0)

(.*?)_(.*?)(?=\.)

试试这个。$2_$1。见。演示。

http://regex101.com/r/hQ1rP0/47