救命!!! RegEx.Replace

时间:2010-11-18 03:19:52

标签: c#

如何使用RegEx实现此目录格式。

Input FileName(40 chars) : 000a2d0e62e43b0f680a6eb6019f9671b15ca291

output should looks like this: 00\0a2\d0e\62e43  
get only the first 13th character.

非常感谢。

johnL

1 个答案:

答案 0 :(得分:1)

什么决定了目录名?长度?其他一切会怎么样?假设第一个需要2个字符,第二个和第三个需要3个,最后一个需要5个,其余的被抛出,你可以这样做:

var str = "000a2d0e62e43b0f680a6eb6019f9671b15ca291";
var pattern = @"^(\w{2})(\w{3})(\w{3})(\w{5})";
var output = Regex.Match(str, pattern).Result(@"$1\$2\$3\$4");