例如,字符串是"我今天非常高兴"。我想删除包含字母" a"的所有单词。所以输出应该是"我非常"。我怎么能这样做?
答案 0 :(得分:5)
与@ Sam的回答相似,只有更小:)使用鲜为人知的Enumerable#grep_v。
#grep的倒置版本。返回枚举中每个元素的数组,而不是Pattern === element。
"I am very happy today".split.grep_v(/a/).join(' ') # => "I very"
答案 1 :(得分:2)
您可以尝试拆分每个单词并删除那些带有字母' a'并像这样加入这些词:
"I am very happy today".split.reject{ |word| word.include?("a") }.join(" ")
答案 2 :(得分:1)
以下是正则表达式的示例:
然后你需要删除不需要的空格。
"I am very happy today".gsub(/\b\w*a\w*\b/i, '').strip.gsub(/\s+/, ' ')
split
和join
的答案更清晰。