在数字字符串中添加短划线的优雅方法是什么?

时间:2017-01-14 21:26:23

标签: r regex

我有

a = c("1234567890", "0987654321")

我想要

a = c("123-456-789", "098-765-4321")

我想在字符串的第4和第8位添加破折号,我该怎么办?

1 个答案:

答案 0 :(得分:2)

使用gsub(类似于其中一条评论):

gsub("(\\d{3})(\\d{3})(\\d{4})$","\\1-\\2-\\3",a)
[1] "123-456-7890" "098-765-4321"

或使用str_replace中的stringr

str_replace(a,"(\\d{3})(\\d{3})(\\d{4})$","\\1-\\2-\\3")