Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Ruby中gsub和gsub!的区别

ruby中带“!"和不带"!"的方法的最大的区别就是带”!"的会改变调用对象本身了。比方说str.gsub(/a/, "b"),不会改变str本身,只会返回一个新的str。而str.gsub!(/a/, "b")就会把str本身给改了。但是gsub和gsub!还有另外一个不同点就是,gsub不管怎么样都会返回一个新的字符串,而gsub!只有在有字符被替换的情况下才会返回一个新的字符串,假如说没有任何字符被替换,gsub!只会返回nil.example:"abc".gsub(/a/, "b") #返回"bbc" "abc".gsub!(/a/, "b") #返回"bbc" "abc".gsub(/d/,"a") #返回"abc" "abc".gsub!(/d/, "a") #返回nil