String类
更新: 2017/06/10
更新: 2017/06/23 puts()要空格可以直接不加参数
更新: 2017/08/17 增加rails引入的titleize
更新: 2017/12/06 增加gsub
更新: 2018/01/08 完善分割字符串方法 split
更新: 2018/02/26 子表格宽度不为100%的设为100%(只有一处, 置换)
                              删除过多的空tr
更新: 2019/04/04 补充gsub的用法
 
 生成 str = "test"
 str = 'test'
 str = %Q(...)  
    #="..."
 str = %q(...)  
    #='...'
 注: '...' 不解析内容(#{})
 输出 printf("", ...)
 sprintf("", ...)
区别: printf()输出到CMD
     
  sprintf()返回字符串

 %c 字符
 %s 字符串
 %p p()的格式
 %b, %B 2进制
 %o 8进制
 %d, %i 10进制
 %x, %X 16进制
 %f 浮点数
 %e 浮点数
 科学计数法
 %% %
 其他输出print(),puts(),p()
puts()带换行,p()不分析内容,带换行
只要换行的话可以不带参数
插值 #{}
 获取长度  str.length
 str.size
 索引 参考Array
 连接字符串 str1 << str2
 str1.concat(str2)
 str1 += str2
 分割字符串 str.split(/:/)
 详细信息的传送门 
 去掉换行 str.chomp!()
 str.chomp()
删除最后一个字符
 str.chop()
 str.chop!()
 搜索 str.index("test")
 str.rindex("test")  从右边开始

str.include?(test) 只看是否包含

 置换

 str[n] 
 str[n..m], str[n...m]
 str[n, length]
 str.slice(...)
 str.slice(n)
str.slice(n, l)
 str.slice!(...) 
 方法

获取部分元素   str[n] 
 str[n..m], str[n...m]
 str[n, length] 
 str.slice(...)
 str.slice(n)
 str.slice(n, l)
 str.slice!(...)
 连接 str1 << str2
 str1.concat(str2)
 str1 += str2
 删除 str.delete(str)
 str.delete!(str)
 倒序 str.reverse()
 str.reverse!()
 去掉开头与结尾的空白 str.strip()
 str.strip!()
 大小写 str.upcase()
 str.upcase!()
 str.downcase()
 str.downcase!()
 大小写反向 str.swapcase()
 str.swapcase!()
 首字母大写,其他小写 str.capitalize()
 str.captilize!()
 置换部分文字 s.tr(origin, swap)
 s.tr!(origin, swap)
 文字代码 str.encode() 获取当前文字代码
 str.encode(str) 切换文字码
 nkf库 半角与全角的相互转换
 Rails导入

 生成标题 str.titleize
 自动创建合适的标题
 "model_year".titleize  
     
  Model Year 
 'ThisIsCamelType'.titleize  
 This Is Camel Type
  

 gsub
# 第二参数为字符串
gsub(pattern, replace) -> String
gsub!(pattern, replace) -> String
# 第二参数为hash 用value替换key
gsub(pattern, hash) -> String
gsub!(pattern, hash) -> self | nil
# 代码块
gsub(pattern) {|matched| .... } -> self | nil # 置换了返回self, 否则nil
gsub!(pattern) {|matched| .... } -> self | nil

● 参数

 pattern

字符串或者正规表现

 replace 字符串, 替代匹配到的所有子字符串
 hash

匹配到的字符串里的所有字符都作为key, 用value来替代

● 这种pattern必须为正规表现

hash = {'b'=>'B', 'c'=>'C'}
p "abcabc".gsub(/[bc]/){hash[$&]} #=> "aBCaBC"
p "abcabc".gsub(/[bc]/, hash) #=> "aBCaBC"
  
  
  
05-23 00:10