如何删除字符串中的“”?

时间:2019-07-13 17:43:07

标签: r regex string

我正在检查instagram用户名的数据字符串,我已经能够使用正则表达式删除几乎所有不必要的字符。我不知道如何删除单词尾部的“”。

我可以使用正则表达式删除所有其他特殊字符。我可以删除撇号而不是s,或者完全跳过它。

follower.list

[1] "@kyrieirving’s" "@jaytatum0"    
> follower.list <- gsub("[^[:alnum:][:blank:]@_]", "", follower.list)

follower.list

[1] "@kyrieirvings" "@jaytatum0"   

预期:

[1] "@kyrieirving" "@jaytatum0"

3 个答案:

答案 0 :(得分:4)

使用

['’]s\b|[^[:alnum:][:blank:]@_]

请参见regex demo

详细信息

  • ['’]s\b-',然后是s,位于单词结尾
  • |-或
  • [^[:alnum:][:blank:]@_]-除字母数字,水平空白,@_ char以外的任何字符

R demo

> x <- c("@kyrieirving’s", "@jaytatum0")
> gsub("['’]s\\b|[^[:alnum:][:blank:]@_]", "",x)
[1] "@kyrieirving" "@jaytatum0" 

答案 1 :(得分:2)

follower.list = c("@kyrieirving’s", "@jaytatum0")
gsub("\\’s$",'',follower.list)

答案 2 :(得分:0)

也许,如果我们使用单词边界,则可能会解决该问题:

(@\b[A-Za-z0-9]+\b)

Demo