用于从字符串的某些位置删除字符的可用功能

use*_*721 5 r

我正在寻找一个基于位置对字符串执行删除操作的函数.

例如,给定字符串就是这样

string1 <- "hello stackoverflow"
Run Code Online (Sandbox Code Playgroud)

假设,我想删除第4,第10和第18个职位.

首选输出

"helo stakoverflw"
Run Code Online (Sandbox Code Playgroud)

我不确定这种功能是否存在.

Cha*_*imm 3

这对我有用。

string1 <- "hello stackoverflow"
paste((strsplit(string1, "")[[1]])[-c(4,10,18)],collapse="")
[1] "helo stakoverflw"
Run Code Online (Sandbox Code Playgroud)

我用了strsplit将字符串拆分为字符向量,然后仅将所需的字符粘贴回字符串中。

您还可以编写一个函数来执行此操作:

delChar <- function(x,eliminate){
  paste((strsplit(x,"")[[1]])[-eliminate],collapse = "")
}

delChar(string1,c(4,10,18))
[1] "helo stakoverflw"
Run Code Online (Sandbox Code Playgroud)

  • `paste((strsplit(string1, "")[[1]])[c(-4,-10,-18)],collapse="")` 应该足够好了,您不需要同时指定两者“九月”和“崩溃”。 (3认同)
  • 使用这种方法可能会更方便使用: `paste((strsplit(string1, "")[[1]])[-c(4,10,18)],sep="",collapse="") ` 因此您指定要删除的字符而不是要保留的字符。 (2认同)