我有一个美国电话号码的向量,其中一些电话号码的开头有一个前导的“1”,如果号码是11位数,这意味着第一位是我想去掉的“1”(至少在我的数据集中是这样)。
phone <- c("1234567890", "1234567890", "5556456890", "5444567890", "19729772976")
我使用
gsub("[- .)(+]|[a-zA-Z]*:?","", phone)
如果字符串长度为11个字符,我不确定如何编写代码来删除第一个数字。或者换句话说,如果字符串具有一定长度,则删除矢量中的第一个字符。
1条答案
按热度按时间inb24sb21#
我们可以使用
base R
中的sub
来匹配开始时的1
(^
),并捕获该字符串的10位数(\\d{10}
)作为一个组((...)
)直到结束($
)的字符串、并在替换中指定捕获的组的反向引用(\\1
)。这将防止丢失10位字符串中的任何1