繁体   English   中英

Ruby Array被拆分

[英]Ruby Array get split

我需要从字符串中删除元音。

我已经尝试过类似的东西:

str = gets
str.split(//) 

制作一个数组,然后

 A1 = ['a', 'e', 'u', 'y', 'i', 'o']
 str-A1 
 str.to_s
 p str

但是我不知道如何将其组合在一起,以从琴弦上去除元音。

gets.gsub(/[aeiou]/i, '').chomp

或者,更容易

a = gets.delete 'aeiouAEIOU'
a.gsub("\n",'')

您可以通过在http://repl.it/languages/Ruby上运行以上代码来验证此答案。

这是一段简单的代码,可从已从stdin / console读取的字符串中过滤元音:

#!/usr/bin/env ruby

s = gets
sa = s.split(//)
vowels = 'aeiouy'.split(//)

puts sa.delete_if{|a| vowels.include?(a)}.join('')

我的vowels在功能上与您的A1相当……虽然更易于阅读(标点符号使线条更整洁)。 请注意, .split()从正在拆分的字符串中返回一个数组。 同样,这些不是集合 ,因此-(负运算符)不会重载以提供集合差异。 (这似乎是您所期望的,在这里不起作用)。

请注意,此示例将输入和元音列表转换为数组...是根据默认的假设,除了显示的简单过滤之外,您还希望进行其他数组处理。 将它们都保留为字符串会更简洁(如该问题的其他答案所示)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM