print "Enter your text here:"
user_text = gets.chomp
user_text_2 = user_text.gsub! "Damn", "Darn"
user_text_3 = user_text.gsub! "Shit", "Crap"
puts "Here is your edited text: #{user_text}"
我希望该代码能够识别何时使用Shit和Damn的小写版本并用替换词替换它们。现在它只能识别我用大写的第一个单词输入单词。有没有办法让它识别小写单词,而不添加更多的gsub!代码行?
答案 0 :(得分:2)
您可以在模式上指定i
标志以忽略大小写:
user_text_2 = user_text.gsub! /Damn/i, "Darn"
答案 1 :(得分:1)
只是一个非常简短的解决方案:
user_text.gsub!(/[Dd]amn/, 'Darn')
更通用的方法,如果这是你想要的,是一个i,它使正则表达式不区分大小写。
user_text.gsub!(/damn/i, 'Darn')
答案 2 :(得分:0)
你可以使用正则表达式和i
选项来做到这一点,这使得Regexp不区分大小写:
foo = 'foo Foo'
foo.gsub(/foo/, 'bar')
#=> "bar Foo"
foo.gsub(/foo/i, 'bar') # with i
#=> "bar bar"
答案 3 :(得分:0)
使用正则表达式而不是字符串。所以/damn/i
代替"damn".
正则表达式末尾的'i'意味着忽略大写。