R:更改为与字符串中前一个字符相同的字符
R: change to the same character as the previous character in a string
假设我有一个向量 c('JKA1','BP9C','SSTQ3WA')
,我想将数字前面的字符更改为那个数字,这样 R returns 'JK11' 'B99C' 'SST33WA'
。无论如何用正则表达式来做这个还是我最好使用 R 以外的东西?
匹配数字前的字母,然后通过捕获组捕获数字。然后将匹配的字符替换为 \1\1
表示组索引 1.
中存在的字符的两倍
> x <- c('JKA1','BP9C','SSTQ3WA')
> gsub("[A-Za-z](\d)", "\1\1", x)
[1] "JK11" "B99C" "SST33WA"
sub
函数就足够了。
> sub("[A-Z](\d)", "\1\1", x)
[1] "JK11" "B99C" "SST33WA"
假设我有一个向量 c('JKA1','BP9C','SSTQ3WA')
,我想将数字前面的字符更改为那个数字,这样 R returns 'JK11' 'B99C' 'SST33WA'
。无论如何用正则表达式来做这个还是我最好使用 R 以外的东西?
匹配数字前的字母,然后通过捕获组捕获数字。然后将匹配的字符替换为 \1\1
表示组索引 1.
> x <- c('JKA1','BP9C','SSTQ3WA')
> gsub("[A-Za-z](\d)", "\1\1", x)
[1] "JK11" "B99C" "SST33WA"
sub
函数就足够了。
> sub("[A-Z](\d)", "\1\1", x)
[1] "JK11" "B99C" "SST33WA"