假设我有一个向量c('JKA1','BP9C','SSTQ3WA'),我想将数字前的字符更改为该数字,以便R返回'JK11' 'B99C' 'SST33WA'.无论如何使用正则表达式进行此操作还是我最好使用除R之外的其他内容?
匹配数字前的字母,然后通过捕获组捕获数字.然后将匹配的字符替换为\\1\\1组索引1中存在的双倍字符.
> x <- c('JKA1','BP9C','SSTQ3WA')
> gsub("[A-Za-z](\\d)", "\\1\\1", x)
[1] "JK11" "B99C" "SST33WA"
Run Code Online (Sandbox Code Playgroud)
sub 对于这种情况,功能就足够了.
> sub("[A-Z](\\d)", "\\1\\1", x)
[1] "JK11" "B99C" "SST33WA"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
73 次 |
| 最近记录: |