R语言 从字符串中去掉三个连续的点和后面的数字

sh7euo9m  于 2022-12-05  发布在  其他
关注(0)|答案(2)|浏览(141)

我有如下数据:

myvec <- c("Some 1 sentence...113_the answer", "Some 3 sentence...1_the answer")

我想从这些字符串中删除三个连续的点和下面的数字,我应该怎么做?
我能做的:

myvec <- gsub("\\...", "", myvec)

然后用regex删除数字,但这对我的数据有点不安全(因为字符串中可能有更多的数字,我需要像创建的示例中那样保留)。
我应该如何删除三个点和一个数字的确切组合?

EDIT所需的输出:

myvec <- c("Some 1 sentence_the answer", "Some 3 sentence_the answer")
c2e8gylq

c2e8gylq1#

你要么

gsub('\\.{3}\\d{1}', '', myvec)
# [1] "Some 1 sentence13_the answer" "Some 3 sentence_the answer"

gsub('\\.{3}.*_', ' ', myvec)
[# 1] "Some 1 sentence the answer" "Some 3 sentence the answer"

这取决于您是要删除一个数字还是整个数字。

f87krz0w

f87krz0w2#

library(stringr)
myvec <- c("Some 1 sentence...113_the answer", "Some 3 sentence...1_the answer") str_remove_all(myvec,'\\.\\.\\.\\d')

str_remove_all(myvec,'\\.\\.\\.\\d{1,20}')
d{1,20}表示您要删除以下所有数字(如果它们的数字介于1到20之间)

相关问题