需要帮助从字符串末尾删除中间的首字母,但我不知道如何在R中执行此操作来编写正则表达式模式。
矢量如:
x <- c("SMITH, BOB A.", "BISHOP, MATTHEW", "CLARK, CORY B")
期望的输出:
[1] "SMITH, BOB" "BISHOP, MATTHEW" "CLARK, CORY"
试过以下内容,但可能会有所不及
test <- sub('^(\\w+)(\\W)(\\h)(\\w+)(\\h).*\\b$', '\\1 \\2',vec2)
试图从其他帖子中复制answer,但不要认为它是对的。
答案 0 :(得分:1)
您可以使用
x <- c("SMITH, BOB A.", "BISHOP, MATTHEW", "CLARK, CORY B")
gsub("(.*)\\s+[A-Z]\\.?$", "\\1", x)
哪个收益
[1] "SMITH, BOB" "BISHOP, MATTHEW" "CLARK, CORY"
答案 1 :(得分:0)
您可以选择字符串中的前两个单词,其中单词由空格分隔,并带有
stringr::word(x, 1, 2)