您可以在gsub的第二个参数中使用散列。我所见过的所有示例通常都有一些我在第一个论点中不理解的东西,即example
def doctorize(string)
string.gsub(/M(iste)?r/, 'Mister' => 'Doctor', 'Mr' => 'Dr')
end
doctorize('Mister Freeze') # => 'Doctor Freeze'
doctorize('Mr Smith') # => 'Dr Smith'如果有人能解释这一点,我很感激。有人能帮上忙吗?
发布于 2015-03-12 10:08:37
第一个参数总是一个正则表达式。Regexp上的Ruby文档对Ruby中的正则表达式有很好的解释。或者一般搜索“正则表达式”或"regex“。
在链接的文章中,第一个是“字符类”([leto]将匹配任何单个字符l、e、t或o),第二个是“组”或“捕获组”与"0或1次“量词组合((ister)将匹配字符串"ister”作为一个组,?表示整个组可能出现0次或一次,因此正则表达式M(ister)?r将匹配"Mister“或"Mr")。
https://stackoverflow.com/questions/29000644
复制相似问题