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
ruby中gsub和gsub 的區別
ruby中帶 和不帶 的方法的最大的區別就是帶 的會改變呼叫物件本身了。比方說str.gsub a b 不會改變str本身,只會返回乙個新的str。而str.gsub a b 就會把str本身給改了。但是gsub和gsub 還有另外乙個不同點就是,gsub不管怎麼樣都會返回乙個新的字串,而gsub ...
sub和gsub的記錄
將檔案中的第一列的中的某個字元a替換成字元b 兩種實現方法 第一匹配到的全部替換,第二 只替換匹配到的第乙個字元 例如 將bb.csv檔案中第一列的4180替換為418e1 bb.csv aa,bb,cc 41804180,156187874180,23232341880 4180,16161418...
sub和gsub的記錄
將檔案中的第一列的中的某個字元a替換成字元b 兩種實現方法 第一匹配到的全部替換,第二 只替換匹配到的第乙個字元 例如 將bb.csv檔案中第一列的4180替換為418e1 bb.csv aa,bb,cc 41804180,156187874180,23232341880 4180,16161418...