我正在编写一个小类来从文件中读取键值对列表并写入Dictionary<string, string>
。该文件将具有以下格式:
key1:value1
key2:value2
key3:value3
...
这应该很容易做到,但是由于用户要手动编辑这个文件,我应该如何处理空格、制表符、额外的行跳转和类似的东西?我可能可以使用替换来删除空格和制表符,但是,我还缺少其他“不可见”字符吗?
或者,也许我可以删除所有非字母数字字符、“:”和换行符(因为换行符是将一对与另一对分开的字符),然后删除所有额外的换行符。如果这样,我不知道如何删除“除某些之外的所有”字符。
当然我也可以检查诸如“key1:value1:somethingelse”之类的错误。但这样的事情其实并不重要,因为这显然是用户的错,我只会显示“无效格式”消息。我只想处理基本的内容,然后将所有内容放入 try/catch 块中,以防万一出现其他问题。
Note:我根本不需要任何空格,即使在键或值内也是如此。
我最近做了这件事,当时我终于对 feed 中出现太多未记录的垃圾形成不良 xml 感到恼火。它有效地修剪掉 ASCII 表中不属于空格和 ~ 之间的任何内容:
static public string StripControlChars(this string s)
{
return Regex.Replace(s, @"[^\x20-\x7F]", "");
}
结合已经发布的其他正则表达式示例,它应该可以帮助您到达您想去的地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)