我想按第一个元音拆分字符串。如果后面的字母也是元音,则在到达序列中的最后一个元音之前不得拆分。例子是:
"辅助"
=>["Au""xiliary"]
“门 Handlebars ”
=>["Doo""rknob"]
"Green"
=>["Gree""n"]
我做到了:
"Auxiliary".split("u")
# => ["A", "uxiliary"]
我需要在赛后拆分,而不是赛前。我不确定我是否可以做类似 "Auxiliary".split(/[aeiouAEIOU]/)
的事情;这只会在它第一次找到元音时 split 。
最佳答案
您可以尝试使用以下模式:
([^aeiou]*[aeiou]+)(.*)
([^aeiou]*[aeiou]+) match and capture zero or more continuous non vowels
followed by one or more vowels
(.*) then capture the remainder of the string
puts "Auxiliary".scan(/([^aeiou]*[aeiou]+)(.*)/i)
puts "Doorknob".scan(/([^aeiou]*[aeiou]+)(.*)/i)
puts "Green".scan(/([^aeiou]*[aeiou]+)(.*)/i)
输出:
Au
xiliary
Doo
rknob
Gree
n
此处演示:
Rextester
关于ruby - 在匹配特定条件时拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43462088/