gpt4 book ai didi

ruby-on-rails - 在拆分正则表达式并将结果放入数组时遇到问题

转载 作者:太空宇宙 更新时间:2023-11-03 16:16:48 25 4
gpt4 key购买 nike

我正在使用 Ruby 2.4。我在拆分正则表达式并将结果放入数组时遇到问题。如果我有一个像

这样的字符串
"A other stuff"

我想将第一个字符与字符串的其余部分分开,前提是第一个字符是“A”或“B”并且后面有一个空格。所以根据这些规则,拆分上面的内容会导致

["A", "other stuff"]

但是将这些规则应用到

"Aother stuff"

会导致

["Aother stuff"]

(因为“A”后面没有空格)。我试过了

2.4.0 :007 > str = "A more"
=> "A more"
2.4.0 :009 > str.split(/^([ab])[[:space:]]+/i)
=> ["", "A", "more"]

但是在我的数组开头有这个烦人的空白字符,我不想在那里。感谢您的建议。

最佳答案

使用后向断言(这意味着前面有):

yourstring.split(/(?<=^[ab])\s+/i)

环视断言的主要优点在于它们只是测试,它们不消耗字符并且不在匹配结果中返回。

请注意,由于您只需要拆分一次字符串,如果将拆分方法的第二个参数设置为 2,它会在第一次出现时停止搜索(需要确认):

 yourstring.split(/(?<=^[ab])\s+/i, 2)

关于ruby-on-rails - 在拆分正则表达式并将结果放入数组时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com