我想String.Split()使用逗号作为delimitter以下字符串:如何拆分可能包含分隔符的用户生成的字符串?
John,Smith,123 Main Street,212-555-1212
以上内容是由用户输入的。如果他们在地址输入一个逗号,得到的字符串会导致问题String.Split(),因为你现在有5个区域,而不是4:
John,Smith,123 Main Street, Apt 101,212-555-1212
我可以对所有用户输入使用与string.replace()更换别的东西逗号,然后再次使用与string.replace()东西转换回逗号:
value = value.Replace(",", "*");
然而,这仍然可以愚弄如果用户恰好使用占位符delimitter有“*”他们的投入。那么你最终会得到额外的逗号和结果中没有星号。
我看到网上的解决方案来处理逃脱delimitters,但我还没有发现这个看似常见的情况的解决方案。我错过了什么?
编辑:这就是所谓的delimitter collision。
你的问题与逃脱分隔符解决的问题有什么不同?即为什么不逃避分隔符? – 2009-09-19 16:50:12
你说你可以在所有的用户输入中替换逗号,这听起来像是在这个时候值是分开的。他们为什么然后把它们串成一个串? – gix 2009-09-19 16:52:51