文档链接:ruby文档地址
一、数组方法
1、delete 删除
从self中删除等于obj的所选项。返回最后删除的项,如果找不到匹配项,则返回nil。如果给定了可选代码块,则如果找不到该项,则返回该代码块的结果。(要删除nil元素并获得有信息量的返回值,请使用#compact!)
- String案例:
"(aa11234[s]d)d".delete("()[]") => "aa11234sdd"
- Array范例:
a = [12,3,5] // => [12, 3, 5] a.delete(3) // => 3 a // [12, 5]
2、group_by 分组
- 按照指定列分组
[{a:23,n:3},{a:12,d:3},{a:11}].group_by{|item| item[:a]} // => {23=>[{:a=>23, :n=>3}], 12=>[{:a=>12, :d=>3}], 11=>[{:a=>11}]}
3、sort 排序
- 简单范例:
[3,3,4,3,2,1,0,34,12,121].sort // => [0, 1, 2, 3, 3, 3, 4, 12, 34, 121]
- 指定列排序:
[{a:23,n:3},{a:12,d:3},{a:11}].sort{|item| item[:a]} // => [{:a=>11}, {:a=>12, :d=>3}, {:a=>23, :n=>3}]
4、revserse 数组反转
- 反转
[1,2,3,4,5].reverse // => [5, 4, 3, 2, 1]
二、正则匹配
[:punct:] 特殊符号 (所有的标点)
# 将所有的标点符号替换掉
"这里是字符串.....。。".gsub(/[[:punct:]]/, '')
三、时间
- 时间格式化
Time.now.strftime("%Y-%m-%d %H:%M:%S")
- 计算时间差
DateTime.parse("2020-2-1") - DateTime.parse("2020-1-1") // => (31/1)