【问题标题】:R: Drop all not matching letters of string vectorR:删除所有不匹配的字符串向量字母
【发布时间】:2019-07-11 13:53:06
【问题描述】:

我有一个字符串向量

d <- c("sladfj0923rn2", ääas230ß0sadfn", 823Höl32basdflk")

我想从这个向量中删除所有不 匹配“a-z”、“A-z”和“'”

我尝试使用 gsub("![a-zA-z'], "", d) 但这不起作用。

【问题讨论】:

  • 我猜你的意思是a-zA-Z,即大写或小写字母。
  • 你能显示你的预期输出吗
  • 我需要这个:d

标签: r string replace


【解决方案1】:

我们甚至可以通过不区分大小写的sub 使您的替换模式更加紧密:

d <- c("sladfj0923rn2", "ääas230ß0sadfn", "823Höl32basdflk")
gsub("[^a-z]", "", d, ignore.case=TRUE)

[1] "sladfjrn"  "assadfn"   "Hlbasdflk"

【讨论】:

  • 但你的意思是 gsub("[^a-z]", "", d, ignore.case=TRUE)
【解决方案2】:

我们可以使用方括号内的^ 来匹配除括号内指定的字符之外的所有字符

gsub("[^a-zA-Z]", "", d)
#[1] "sladfjrn"  "assadfn"   "Hlbasdflk"

数据

d <- c("sladfj0923rn2", "ääas230ß0sadfn", "823Höl32basdflk")

【讨论】:

  • @IskandarThePupsi。我不明白你的第二个模式
  • 哦..对不起。那么在d 中没有'.但总的来说,我可以在方块中添加我想保留的字符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-25
  • 2020-01-31
  • 2022-01-09
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多