R str_extract_all表达式提取所有字母,数字,美元符号,单引号和双引号

时间:2018-04-08 13:50:35

标签: r regex stringr

我几天前只接受了R,到目前为止,正则表达式比我试过的任何编程语言都要难,嘿...... 我迫切需要一个,这将帮助我提取所有字母,数字,美元符号,单引号和双引号序列(最后两个似乎是问题)。 它是针对使用朴素贝叶斯的垃圾邮件预测项目,并且区分可能在其中具有单引号或双引号的符号序列是必需的。 我特意使用了stringr库中的str_extract_all函数,并且在过去的两天里必须阅读50篇文章而没有找到解决我的具体问题的方法,而我只是没有时间。 任何帮助将不胜感激,并将在我的机器学习兴趣中向前迈进一步。 欢呼声。

1 个答案:

答案 0 :(得分:0)

您可以尝试在此使用regmatches在给定的输入字符串中返回您的模式的所有匹配项:

txt <- "Hello World \"how are you today\"?  Goodbye."
m <- gregexpr("[0-9A-Za-z$'\"]+", txt, perl = TRUE)
regmatches(txt, m)

[[1]]
[1] "Hello"   "World"   "\"how"   "are"     "you"     "today\"" "Goodbye"

Demo

输出可能没有多大意义,但您没有将空格包含为序列中允许的字符。因此,我们留下了文字,可能在任何一方都有引用。