加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – 尝试将字符串拆分为单个单词或“引用的单词”,并希望在

发布时间:2020-12-17 04:27:17 所属栏目:百科 来源:网络整理
导读:我正在尝试将类似于“测试驱动开发”的演示文稿的字符串拆分为如下数组: [ 'Presentation','about','"Behavior Driven Development"' ] 我试过了CSV :: parse_line(string,col_sep:”),但结果却是这样 [ 'Presentation','Behavior Driven Development' ] #
我正在尝试将类似于“测试驱动开发”的演示文稿的字符串拆分为如下数组:
[ 'Presentation','about','"Behavior Driven Development"' ]

我试过了CSV :: parse_line(string,col_sep:”),但结果却是这样

[ 'Presentation','Behavior Driven Development' ] # I'm missing the quotes here

我也试过一些正则表达式的魔法,但我还是初学者并没有成功.我想对于专业人士来说这很简单,所以也许有人可以指出我正确的方向?谢谢.

解决方法

您可以使用以下正则表达式 split
str = 'Presentation about "Test Driven Development"'
p str.split(/s(?=(?:[^"]|"[^"]*")*$)/)
# => ["Presentation","about",""Test Driven Development""]

如果有空格,它会分裂,但只有在结尾之后的文本包含偶数“.请注意,只有在所有字符串都被正确引用时,此版本才会起作用.

另一种解决方案使用scan来读取字符串的部分(除了空格):

p str.scan(/(?:w|"[^"]*")+/)
# => ["Presentation",""Test Driven Development""]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读