自动更正编码正则表达式模式

时间:2011-09-12 13:01:28

标签: c# regex encoding pattern-matching

我正在为字符串输入编码构建自动更正。我想为编码模式构建一个正则表达式。

例如:

var encoding = "utd-8";
Correct c = new Correct(encoding);
var c.Correct();

输出为utf-8。 我有大部分的工作(并使用一些伟大的人写一些美丽的东西的开源编码)。有人可以帮忙吗?

更新

我最终需要的是正确编码的正则表达式模式。 用户输入编码名称iso-8859-1,并检查其是否有效。

1 个答案:

答案 0 :(得分:1)

在弄清楚如何解决问题之前,您不应该决定使用哪种技术;正则表达式真的有必要吗?

如果我正确理解你的问题,你想检查输入字符串是否看起来像支持的编码之一。在编写一行代码之前,您必须弄明白:

  • 你支持哪种编码?您是否支持别名(UTF-16Unicode相同)?
  • 允许输入字符串与所选编码(utd-8,utd-9,utd9,td9,9)不同多少?
  • 如果输入字符串“utf-36”,输出会是UTF-16还是UTF-32

也许您可以查看其中一个字符串距离算法(例如,http://en.wikipedia.org/wiki/Levenshtein_distance)以获取有关该主题的灵感。那里的“另见”部分有很多链接。