我想知道如何每 2 位对字符串执行 Regex.Replace。 例如:如果用户键入 111213,我想将 11 替换为 c,将 12 替换为 o,将 13 替换为 m。
显然我之前已经为每个字母分配了值,我只是对正则表达式了解不够,无法告诉它每 2 位数字进行一次替换。
任何帮助或指向好文章的指针将不胜感激。
拉斐尔·鲁莱斯。
请您参考如下方法:
我根本不会尝试使用正则表达式。在我阅读它时,您只想取每两个字符并将它们替换为其他字符。像这样:
private static readonly Dictionary<string, string> Map
= new Dictionary<string, string> {
{"11", "c"},
{"12", "o"},
{"13", "m"}
};
public static string Rewrite(string input)
{
StringBuilder sb = new StringBuilder();
for (int i = 0; i < input.Length; i += 2)
{
string value = input.Substring(i, 2);
sb.Append(Map[value]);
}
return sb.ToString();
}
