正则表达式用数字替换星期值

时间:2015-06-29 12:12:05

标签: c# regex

我有以下字符串

q10MTWTHFSSUMT88797sdfsdfsdfws

其中MTWTHFSSU是星期几。

我想要以下输出

OUTPUT should be : q10j1234567MT88797sdfsdfsdfws

我尝试了q(\d+)([M]|[T]|[W]|[TH]|[F]|[S]|[SU]){1},但没有成功。

1 个答案:

答案 0 :(得分:1)

这是一个你可能不应该使用正则表达式来解决的问题。

使用正则表达式提取工作日字母数组。您也可以使用其他所有方法来获取要替换的字符串部分。

然后只需使用循环迭代每个循环,将其替换为字典/地图中的值。

此外,C#(几乎与任何现代语言一样)都有一个丰富的字符串库,您可以使用其他字符串替换子字符串(在您的情况下,工作日字母)(在您的情况下" 1"等等) ),并且不需要循环。