首页 > 解决方案 > 移动字符串中的所有辅音,直到遇到第一个元音

问题描述

一旦遇到第一个元音,我就会尝试在字符串末尾按顺序移动所有辅音。

例如,使用此代码,我想实现的目标是使用“atch”这个词

sentence = 'chat'
splitted = sentence.chars
splitted.each do |letter|
  %w[a e i o u].include?(letter) ? break : splitted << splitted.shift
end

p splitted.join

但我最终得到的是“hatc”关于如何实现这一点的任何建议?

标签: arraysrubystring

解决方案


你可以试试:

vowels = %w[a e i o u]
sentence = 'chat'
splitted = sentence.chars
right_part = []

sentence.each_char do |letter|
  vowels.include?(letter) ? break : right_part << splitted.shift
end

new_sentence = (splitted + right_part).join

p new_sentence # => "atch"

推荐阅读