Ruby中常用的字符串处理函数使用实例
1.返回字符串的长度
str.length=>integer
2.判断字符串中是否包含另一个串
str.include?other_str=>trueorfalse "hello".include?"lo" #=>true "hello".include?"ol" #=>false "hello".include??h #=>true
3.字符串插入
str.insert(index,other_str)=>str "abcd".insert(0,'X') #=>"Xabcd" "abcd".insert(3,'X') #=>"abcXd" "abcd".insert(4,'X') #=>"abcdX" "abcd".insert(-3,'X') -3,'X') #=>"abXcd" "abcd".insert(-1,'X') #=>"abcdX"
4.字符串分隔,默认分隔符为空格
str.split(pattern=$;,[limit])=>anArray "now'sthetime".split #=>["now's","the","time"] "1,2.34,56,7".split(%r{,\s*})#=>["1","2.34","56","7"] "hello".split(//) #=>["h","e","l","l","o"] "hello".split(//,3) #=>["h","e","llo"] "himom".split(%r{\s*}) #=>["h","i","m","o","m"] "mellowyellow".split("ello") #=>["m","wy","w"] "1,2,,3,4,,".split(',') #=>["1","2","","3","4"] "1,2,,3,4,,".split(',',4) #=>["1","2","","3,4,,"]
5.字符串替换
str.gsub(pattern,replacement)=>new_str str.gsub(pattern){|match|block}=>new_str "hello".gsub(/[aeiou]/,'*') #=>"h*ll*" #将元音替换成*号 "hello".gsub(/([aeiou])/,'<\1>') #=>"h<e>ll<o>" #将元音加上尖括号,\1表示保留原有字符??? "hello".gsub(/./){|s|s[0].to_s+''} #=>"104101108108111"
字符串替换二:
str.replace(other_str)=>str s="hello" #=>"hello" s.replace"world" #=>"world"
6.字符串删除
str.delete([other_str]+)=>new_str "hello".delete"l","lo" #=>"heo" "hello".delete"lo" #=>"he" "hello".delete"aeiou","^e" #=>"hell" "hello".delete"ej-m" #=>"ho"
7.去掉前和后的空格
str.lstrip=>new_str "hello".lstrip #=>"hello" "hello".lstrip #=>"hello"
8.字符串匹配
str.match(pattern)=>matchdataornil
9.字符串反转
str.reverse=>new_str "stressed".reverse #=>"desserts"
10.去掉重复的字符
str.squeeze([other_str]*)=>new_str "yellowmoon".squeeze #=>"yelowmon"#默认去掉串中所有重复的字符 "now isthe".squeeze("") #=>"nowisthe"#去掉串中重复的空格 "puttersshootballs".squeeze("m-z") #=>"putersshotballs"#去掉指定范围内的重复字符
11.转化成数字
str.to_i=>str "12345".to_i #=>12345
chomp和chop的区别:
chomp:去掉字符串末尾的\n或\r
chop:去掉字符串末尾的最后一个字符,不管是\n\r还是普通字符
"hello".chomp #=>"hello" "hello\n".chomp #=>"hello" "hello\r\n".chomp #=>"hello" "hello\n\r".chomp #=>"hello\n" "hello\r".chomp #=>"hello" "hello".chomp("llo") #=>"he"
"string\r\n".chop #=>"string" "string\n\r".chop #=>"string\n" "string\n".chop #=>"string" "string".chop #=>"strin"