我要转换:
"890414.14.1422, 900515141092, 950616-12-5414"
致:
"890414-14-1422, 900515-14-1092, 950616-12-5414"
我怎样才能做到?
我试过:
def format_ids(string)
string.gsub(/(\d{6})[.-](\d{2})[.-](\d{4})/, '\1-\2-\3')
end
format_ids("890414.14.1422, 900515141092, 950616-12-5414")
# => "890414-14-1422, 900515141092, 950616-12-5414"
最佳答案
您应该将输入字符串中的分隔符设为非必需的:
- string.gsub(/(\d{6})[.-](\d{2})[.-](\d{4})/, '\1-\2-\3')
+ string.gsub(/(\d{6})[.-]?(\d{2})[.-]?(\d{4})/, '\1-\2-\3')
注意分隔符后面的问号,它们起作用。
关于ruby - 在数字中插入连字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52023251/