我有以下代码:
def word_sizes(sentence)
sizes = Hash.new(0)
sentence.split(' ').each do |word|
p "#{word} => #{word.gsub(/^[a-z]/i, '')}"
end
end
word_sizes("Four score and seven.")
我期望的结果是gsub
函数删除每个单词中的所有非字母字符。但是,我的输出看起来像这样:
"Four => our"
"score => core"
"and => nd"
"seven. => even."
似乎gsub
只带出每个单词的第一个字符。这真令人困惑。有什么想法吗?
答案 0 :(得分:3)
这应该有效,
word.gsub(/[^a-z]/i, '')
您只是在错误的位置插入了^
(插入符号)语法