如何在一定数量的数字后添加空格?
如果我有号码02920555555
并想在第五个号码之后添加一个空格,我该怎么办呢?我可以使用gsub
和正则表达式执行此操作吗?我想把它放在帮手中:
def area_code(tel)
tel.gsub()
end
由于
答案 0 :(得分:4)
只需使用insert
方法:
'02920555555'.insert(5, ' ')
# => "02920 555555"
答案 1 :(得分:3)
使用'\& '
作为替换字符串。 (\&
表示匹配的字符串)
'02920555555'.gsub(/\d{4}/, '\& ')
# => "0292 0555 555"
<强>更新强>
仅在第5个号码后添加空格,请使用sub
代替gsub
:
'02920555555'.sub(/\d{5}/, '\& ')
# => "02920 555555"
或使用gsub
模式^...
(仅匹配输入字符串的开头):
'02920555555'.gsub(/^\d{5}/, '\& ')
# => "02920 555555"
答案 2 :(得分:1)
如果您对regex
感到不舒服,那么您可以使用insert
方法:
'123456789'.insert(5, ' ')
insert
方法的第一个参数是position(您要插入的索引),第二个参数是您要插入的字符。
因此,我们的代码是说取数123456789
并在space
索引5
。
"12345 6789"
答案 3 :(得分:0)
'0292055555'.gsub(/(\d{5})(\d*)/, "\\1 \\2")
# => 02920 55555