and the end
L_1_3
L_2_23
L_3_91
L_3_16
of the string and use the group in the replacement.
3
23
91
16
In partscolnames(X) <- gsub("L_\\d\\d_", "", colnames(X))
^ Start of stringL_ Match L_\d Match a digit\d? Match a digit and repeat 0 or 1 times_ Match _( Capture group 1 \d+ Match a digit and repeat 1 or more times) Close group$ End of string
Regex demo
我试过
gsub(".+_(?=\\d+$)", "", X, perl = TRUE)
[1] "3" "23" "91" "16"
它适用于尾部有两位数的字符串。我想要一个既能用在单数又能用在双数的字符串上的。 ?
L_\\d\\d?_
我有一堆colnames L_1_3 L_2_23 L_3_91 L_3_16,我想用新的名字替换这些colnames,使用_后面的最后一位数字,就像这样。3 23 91 16 我试过colnames(X) 这里有一个正数看前的选项。
^
$
如果这就是你的2位数的模式, 你唯一要做的就是把其中一个数字变成可选的,使用...
^L_\\d\\d?_(\\d+)$
Regex演示