保留 R 中字符向量的第一个和最后一个元素
Keep first and last element from a character vector in R
我有一个如下所示的字符向量,我只想要该向量中每个值的第一个和最后一个字母,它们应该用破折号 (-) 分隔。
df <- c("bcdefg", "abc", "bcdefg", "abcd", "abcdefg", "abc", "a")
结果应该是这样的
[1] "b-g" "a-c" "b-g" "a-d" "a-g" "a-c" "a"
R 程序中执行此操作的任何代码。非常感谢您的帮助。
使用两个捕获组的 sub
基础 R 选项。
df <- c("bcdefg", "abc", "bcdefg", "abcd", "abcdefg", "abc", "a")
sub('^(.).*(.)$', '\1-\2', df)
#[1] "b-g" "a-c" "b-g" "a-d" "a-g" "a-c" "a"
^
表示字符串的开头,$
表示字符串的结尾。
我有一个如下所示的字符向量,我只想要该向量中每个值的第一个和最后一个字母,它们应该用破折号 (-) 分隔。
df <- c("bcdefg", "abc", "bcdefg", "abcd", "abcdefg", "abc", "a")
结果应该是这样的
[1] "b-g" "a-c" "b-g" "a-d" "a-g" "a-c" "a"
R 程序中执行此操作的任何代码。非常感谢您的帮助。
使用两个捕获组的 sub
基础 R 选项。
df <- c("bcdefg", "abc", "bcdefg", "abcd", "abcdefg", "abc", "a")
sub('^(.).*(.)$', '\1-\2', df)
#[1] "b-g" "a-c" "b-g" "a-d" "a-g" "a-c" "a"
^
表示字符串的开头,$
表示字符串的结尾。