我想用第一个元音分割一个字符串.如果下面的字母也是元音,那么它必须不会分裂,直到它到达序列中的最后一个元音.例如:
"Auxiliary" => ["Au" "xiliary"]"Doorknob" => ["Doo" "rknob"]"Green" => ["Gree" "n"]我做了:
"Auxiliary".split("u")
# => ["A", "uxiliary"]
Run Code Online (Sandbox Code Playgroud)
比赛结束后我需要分手,而不是之前.我不确定我是否能做类似的事情"Auxiliary".split(/[aeiouAEIOU]/); 这只会在第一次发现元音时分裂.
您可以尝试使用以下模式:
([^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)
Run Code Online (Sandbox Code Playgroud)
输出:
Au
xiliary
Doo
rknob
Gree
n
Run Code Online (Sandbox Code Playgroud)
在这里演示: