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" | | |
|
| |
| |