【问题标题】:How to remove certain special character occurrences from some elements in a vector?如何从向量中的某些元素中删除某些特殊字符出现?
【发布时间】:2026-02-13 06:50:01
【问题描述】:

我有一个向量,其中填充了我从 .csv 文件中读取的一些数字,但其中一些数字前面有一个 * ,也就是说,

12 34 *89 *45 34

我想从这些元素中删除*,同时保留它们的类型,即

12 34 89 45 34

我该怎么做?

【问题讨论】:

  • 不,我是从 csv 文件中读取的,但为了简单起见,我在这里写了这个
  • 里面有十进制数字还是整数?
  • @RichardScriven : 从 csv 文件中读取的元素不是字符串,请删除该编辑。
  • 只有整数,但其中一些前面有 *
  • as.integer(scan(text = "12 34 *89 *45 34", quote = "*", what = "")) 怎么样?或为您的文件as.integer(scan(file, quote = "*", what = ""))

标签: r


【解决方案1】:

试试:

as.integer(stringi::stri_extract_all(x, regex = "[[:digit:]]+", simplify = TRUE))

这给出了:

#[1] 12 34 89 45 34

【讨论】:

  • 谢谢。你能解释一下那条线吗?我是 R 新手,无法跟随。
  • 看看?stringi::stri_extract_all
最近更新 更多