c# – 从字符串中删除所有“不可见”字符?
我正在编写一个小类来读取文件中的键值对列表并写入Dictionary< string,string>.此文件将具有以下格式:
key1:value1 key2:value2 key3:value3 ... 这应该很容易,但是由于用户要手动编辑这个文件,我应该如何处理空格,制表符,额外的行跳转等等?我可以使用Replace删除空格和制表符,但是,是否还有其他“隐形”字符我缺少? 或者我可以删除所有不是字母数字的字符,“:”和行跳转(因为行跳转是将一对与另一对分开),然后删除所有额外的行跳转.如果是这样,我不知道如何删除“all-except-some”字符. 当然我也可以查看“key1:value1:somethingelse”之类的错误.但是这样的东西并不重要,因为它显然是用户的错,我只会显示“无效格式”消息.我只是想处理基本的东西,然后把所有这些都放在try / catch块中以防万一其他出错. 注意:我根本不需要任何空格,即使在键或值内也是如此. 解决方法
要求太模糊了.考虑:
“什么时候空间是一个价值?关键?” 这些问题将导致代码填写一次性和糟糕的用户体验.这就是我们有语言规则/语法的原因. 定义一个简单的语法并消除大部分的猜测. “{核心价值}”, 在这里,您有一个键/值对包含在引号内,并通过分隔符(,)分隔.所有无关的字符都可以忽略.您可以使用XML,但这可能会吓跑不太熟练的用户. 注意,引号是任意的.随意更换任何不需要太多转移的集合容器(只要注意复杂性). 就个人而言,我会将其包装在一个简单的UI中,并将数据序列化为XML.有时候不这样做,但你没有给我任何理由. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |