我正在进行一项练习,要求我做以下事情:
给定一个字符串,伤感每个实例替换开心。你必须考虑sad是否大写,大写等。
好的,当“伤心”时,这很容易。没有资本化:
def sub_sad_for_happy(string)
string.gsub('sad', 'happy')
end
sad_string = "Pierrot is sad."
sub_sad_for_happy(sad_string) # => "Pierrot is happy."
但是,如果悲伤被大写了怎么办?
答案 0 :(得分:4)
使用/i
修饰符很容易处理ruby正则表达式中的忽略大小写。另请注意,我已将正则表达式放在//
string.gsub(/sad/i, 'happy')
现在,如果您只想将s
保留为两种情况,那么请使用字符类。 [sS]表示s
或S
string.gsub(/[sS]ad/, 'happy')