首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Ruby从下面的字符串"hold_sim_D_C3_1_one_aoi“中提取下划线之间的子字符串?

如何使用Ruby从下面的字符串"hold_sim_D_C3_1_one_aoi“中提取下划线之间的子字符串?
EN

Stack Overflow用户
提问于 2017-03-10 04:54:26
回答 1查看 58关注 0票数 0

我有一个字符串,我想获取下划线之间的子串。

输入字符串示例: hold_sim_D_C3_1_one_aoi

所需输出子字符串: sim、D、C3、1、1

EN

回答 1

Stack Overflow用户

发布于 2017-03-10 05:14:36

您可以将splitsplat assignment一起使用,以便忽略第一个和最后一个单词:

代码语言:javascript
复制
head, *words, tail = "hold_sim_D_C3_1_one_aoi".split('_')
p words
#=> ["sim", "D", "C3", "1", "one"]

如果你不需要headtail,你可以使用:

代码语言:javascript
复制
_, *words, _ = "hold_sim_D_C3_1_one_aoi".split('_')

代码语言:javascript
复制
words = "hold_sim_D_C3_1_one_aoi".split('_')[1..-2]

当字符串包含的下划线少于2个时,words将为空数组。

由于您尝试使用正则表达式,因此可以使用positive lookarounds

代码语言:javascript
复制
"hold_sim_D_C3_1_one_aoi".scan(/(?<=_).*?(?=_)/)
#=> ["sim", "D", "C3", "1", "one"]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42705214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档