我们将来也需要支持更多“格式”.
我们是否使用以下方法寻求解决方案
>正则表达式
>只需字符串搜索(使用string.IndexOf等)
> Lex / Yacc
>其他
整体解决方案将在C#2.0中开发(希望3.5)
解决方法 您说的三种解决方案都涵盖了非常不同的需求.手动解析(简单文本搜索)是最灵活和最具适应性的,然而,由于所需的解析更复杂,它很快就会成为真正的痛苦.
正则表达式是一个中间立场,这可能是你最好的选择.它们功能强大且灵活,您可以自己从调用不同正则表达式的代码中添加更多逻辑.主要缺点是这里的速度.
Lex / Yacc实际上只适用于非常复杂,可预测的语法,并且缺乏很多后编译灵活性.你不能在解析中间很容易地改变解析器,实际上你可以,但它太重了,你最好使用正则表达式.
我知道这是一个陈词滥调的答案,这一切都归结为你的确切需求,但从你所说的,我个人可能会带着一袋正则表达式.
作为替代方案,正如Vaibhav所说,如果你有几种不同的情况可以出现并且你可以轻松地检测出哪一种,你可以制作一个选择正确算法的插件系统,这些算法可能都非常不同,一个在尖尖的情况下使用Lex / Yacc,另一个在更简单的情况下使用IndexOf和regex.
总结以上是内存溢出为你收集整理的c# – 解析字符串的最佳方法是什么?全部内容,希望文章能够帮你解决c# – 解析字符串的最佳方法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)