解析不在逗号之间的空格的简便方法是什么?
- 论坛
- 解析不在逗号之间的空格的简便方法是什么?
12 浏览
匿名的
0 Comments
问题的出现原因是需要解析字符串中的非逗号处的空格。解决方法是使用正则表达式来拆分字符串,并基于匹配结果进行相应的处理。
在给出的代码中,使用了正则表达式来拆分字符串。这个正则表达式是" +(?=([^\"]*\"[^\"]*\")*[^\"]*$)"
。它的含义是只在右边有偶数个引号的地方进行拆分。这个正则表达式没有考虑到转义引号的情况,但是解决起来并不难,只是会使代码难以阅读。
对于这种情况,我认为使用Matcher进行匹配比使用split更灵活。为什么灵活性很重要呢?因为任务是拆分字符串。为什么要使用多行代码,当一行就能完成任务呢?
例如,在引号的数量为奇数的情况下,或者在引号后面紧跟着字符的情况下,使用Matcher更容易自定义正则表达式,而不是使用split。