R 从句子中删除无关字符

R 从句子中删除无关字符,r,R,我有以下一句话: **I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE** 我只想提取那些定义为相关的单词:I,WANT,only,this,words,NEXT,STEP。所有其他字符(数字、字母、特殊)应从句子中删除 在这种情况下,判决结果将是: I WANT ONLY THESE. 我有数千行这样的文字,每行文字之间都有自己的字符集。有没有一种有效的方法可以在R中消除这些问题?这里有一种方法,假设您有一个列表可供检查: stri

我有以下一句话:

**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**
我只想提取那些定义为相关的单词:
I,WANT,only,this,words,NEXT,STEP
。所有其他字符(数字、字母、特殊)应从句子中删除

在这种情况下,判决结果将是:

I WANT ONLY THESE.

我有数千行这样的文字,每行文字之间都有自己的字符集。有没有一种有效的方法可以在R中消除这些问题?

这里有一种方法,假设您有一个列表可供检查:

string <- "**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**"
regmatches(string, gregexpr("I|WANT|ONLY|THESE|WORDS|NEXT|STEP", 
                            string))

[[1]]
[1] "I"     "WANT"  "ONLY"  "THESE"
> mystring2 <- "**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**"
> mystring2
[1] "**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**"
> temp <- strsplit(mystring2, "[^a-zA-Z]")[[1]]
> myWords <- c("I", "WANT", "ONLY", "THESE", "WORDS", "NEXT", "STEP")
> temp[temp %in% myWords]
[1] "I"     "WANT"  "ONLY"  "THESE"
>mystring2 mystring2
[1] “**我**%%AABB%&&&**想要**%%AO%**只**%RA%$**这些**”
>临时myWords临时[临时%in%myWords]
[1] “我”“只”“想要”“这些”

如果您没有相关单词的列表,请让
自动拼写:)


是的……我有一个相关的单词列表……我希望删除所有其他单词。通常,您可以使用
粘贴(,sep=“|”)
创建模式。非常好。我不太熟悉
regmatches
+1这里是否需要perl=TRUE?换句话说,它在这里有什么用?@Arun抱歉,这是上次尝试的遗物。我将删除它。@ Ravi,如果这对你有帮助,那么你可能会考虑在答案旁边按下绿色的嘀嗒声(但是你肯定没有义务)表明这个令人满意地回答了你的问题,然后这个问题可以从未回答的问题栈中移除。谢谢
> mystring2 <- "**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**"
> mystring2
[1] "**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**"
> temp <- strsplit(mystring2, "[^a-zA-Z]")[[1]]
> myWords <- c("I", "WANT", "ONLY", "THESE", "WORDS", "NEXT", "STEP")
> temp[temp %in% myWords]
[1] "I"     "WANT"  "ONLY"  "THESE"
> system(paste('echo "', gsub('\\W', ' ', '**I**%%AABB%&&**WANT**%%AO%**ONLY**%RA%$**THESE**'), '" | hunspell -G -d en_US'))
I
WANT
ONLY
RA
THESE