在r中的正则表达式中添加数字前缀

问题描述

我有一个包含不同长度字符的列表,我想为特定长度的字符添加前缀。

library(tidyverse)

a = list("20013536","20017954","19618","18114")
a

[[1]] [1]“ 20013536”

[[2]] [1]“ 20017954”

[[3]] [1]“ 19618”

[[4]] [1]“ 18114”

我想在列表的第三和第四元素中添加数字前缀“ 200”。

谢谢。

关于, 穆罕德。

解决方法

您可以使用paste()向字符向量添加任何前缀。在您的示例中,我只将前缀"200"附加到短于8位数字的字符:

a = list("20013536","20017954","19618","18114")

a[nchar(a)<8]=paste("200",a[nchar(a)<8],sep="")

输出为:

> a
[[1]]
[1] "20013536"

[[2]]
[1] "20017954"

[[3]]
[1] "20019618"

[[4]]
[1] "20018114"

不需要tidyverse。