最近因为公司需求开始看ruby,先从ruby的基本数据类型开始看
看到ruby的字符串类型string,发现ruby中的字符串单双引号是不一样的,这点和Python有那么点不一样
主要是我们对字符串进行变量引用的时候要使用双引号
如下:
可支持全部的转义字符及用#{exp}将Ruby中的值插入字符串中
例:
i = 5
str = “ abab#{i}cjd” #->abab5cjd
“#{‘ho‘ *3} happy new year” #->ho ho ho happy new year
这是最大的区别
现在来看看ruby中字符串的方法:
1. 遇到\会进行转义
2.2.1 :041 > puts "daad\'"
daad'
=> nil
2.2.1 :042 > puts "daad\\"
daad\
=> nil
2. + 可以将字符串连接起来
例:
2.2.1 :043 > 'abc'+'def'
=> "abcdef"
3. 字符串的内容重复times次
例:
2.2.1 :043 > 'abc'+'def'
=> "abcdef"
4. 返回字符串的长度
length,size
例:
2.2.1 :052 > str = "123456789"
=> "123456789"
2.2.1 :054 > str.length
=> 9
2.2.1 :055 > str.size
=> 9
5.判断字符串中是否包含另一个字符串
str.include? other_str => true or false
例:
2.2.1 :060 > 'ruby'.include?'ru'
=> true
2.2.1 :061 > 'ruby'.include?'pp'
=> false
6.字符串的插入
str.insert(index, other_str)=> str
2.2.1 :062 > 'ruby'.insert(0,'add') # 在索引为0的位置插入a,索引从0开始
=> "addruby"
2.2.1 :063 > 'ruby'.insert(-1,'add') #从最后一个索引开始添加
=> "rubyadd"
7.字符串分割,默认分隔符为空格
str.split(pattern=$;, [limit]) =>anArray
和python差不多
例:
2.2.1 :065 > 'ruby abc def'.split # 默认是一个空格符
=> ["ruby", "abc", "def"]
2.2.1 :066 > 'ruby abc def'.split('a')
=> ["ruby ", "bc def"]
2.2.1 :067 > 'ruby abc def'.split('',4)
=> ["r", "u", "b", "y abc def"]
2.2.1 :068 > 'ruby abc def'.split(' ',4)
=> ["ruby", "abc", "def"]
8.字符串的替换
str.sub(pattern, replace) str.gsub(pattern, replace)
str.sub!(pattern, replace) str.gsub!(pattern, replace)
str.sub(pattern) {|matche