【发布时间】:2021-12-13 23:06:01
【问题描述】:
我有以下字符串,我想从中提取任何不包含数字或特殊字符的“单词”。目前,可接受逗号、问号或句号:
b? Dl )B 4(V! A. MK, YtG ](f 1m )CNxuNUR {PG?
期望的输出:
b? Dl A. MK, YtG
5
当前输出:
b? Dl A. MK, YtG 1m
6
目前,下面的函数成功地从字符串中删除了数字,但是,同时包含数字和字母的单词不会被省略。因此,“1m”包含在我当前的输出中。
当前功能:
def howMany(sentence)
if sentence.is_a? String
output = sentence.split
count = 0
test_output = []
output.each {|word|
if word !~ /\D/ || word =~ /[!@#$%^&*()_+{}\[\]:;'"\/\\><]/
count
else
test_output.push(word)
count += 1
end
}
puts test_output
puts count
else
puts "Please enter a valid string"
end
end
我的假设是我必须以某种方式遍历字符串中的每个单词以查找它是否包含数字,但是,我不确定如何执行该特定解决方案。我曾想过在我的output.each 函数中使用.split(""),但尝试了几次都没有成功。
任何建议将不胜感激。
提前致谢!
【问题讨论】:
-
您刚刚删除了一个带有答案的问题。尽管系统允许您这样做,但如果这是一个合理的答案,那么您会因为浪费回答者的努力而皱眉。 (但仅代码的答案被认为很糟糕。)即使被删除,非正分数的帖子也计入询问限制。研究网站的运作方式。 Help centerMeta Stack OverflowMeta Stack Exchange 对于代码问题,请提供minimal reproducible example。在考虑发布之前研究问题,包括使用“site:stackoverflow.com”进行谷歌搜索。 How to Ask希望你不介意我在这里发帖。 (无法对已删除的帖子发表评论。)
标签: arrays ruby string dictionary select