arrays - 移动字符串中的所有辅音,直到遇到第一个元音
问题描述
一旦遇到第一个元音,我就会尝试在字符串末尾按顺序移动所有辅音。
例如,使用此代码,我想实现的目标是使用“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”关于如何实现这一点的任何建议?
解决方案
你可以试试:
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"
推荐阅读
- r - 从最接近给定列的列中逐行选择非缺失值
- ios - 所有这些 if 语句真的有必要吗?
- angular - 需要为 ngx-editor 安装 ngx-boostrap 版本 4
- php - 在 SELECT 中包含一个实际上不在数据库 laravel 中的列
- reactjs - 语义 UI React 侧边栏仅在可见性更改时呈现推送器(redux/rematch)
- python - 如何将有序变量保存到文件中
- django - 为什么 django rest-frame 工作的序列化程序中的外键字段变为只读?
- euclidean-distance - 欧几里得距离除以数组数量的平方根?
- c++ - c++线程,重复/丢失线程
- javascript - 无法使用 for/while LOOP Javascript/Jquery 获得最终结果