使用R在字符串中进行文本挖掘

时间:2016-01-01 05:58:37

标签: r text-mining

我最近开始使用R和新手进行数据分析。

当使用一串数据进行搜索时,R是否有可能在单个主字符串中找到重复次数?

例:
主字符串:' abcdefghikllabcdefgllabcd'
和搜索字符串:' lla '

所需的输出:' abcdefghik lla bcdefg lla bcd '

[我尝试使用R的 grep()函数,但它没有以所需的方式工作,只给出了多个主字符串中搜索字符串的重复次数。]

提前谢谢。

3 个答案:

答案 0 :(得分:2)

这也适用于正则表达式捕获组:

gsub("(lla)"," \\1 ","abcdefghikllabcdefgllabcd")

答案 1 :(得分:1)

尝试这样的gsub()方法:

main_string <- 'abcdefghikllabcdefgllabcd'
search_string <- 'lla'

output_string <- gsub(search_string, paste(' ', search_string, ' ', sep = ''), main_string)

答案 2 :(得分:0)

您的问题是,您可能只想计算主字符串中搜索次数的出现次数。如果是这种情况,请尝试这一个班轮:

string = "abcdefghikllabcdefgllabcd"
search  = 'lla'

( nchar(string) - nchar( gsub(search, "", string)) ) / nchar(search)
#returns 2

string2 = "llaabcdefghikllabcdefgllabcdlla"
( nchar(string2) - nchar( gsub(search, "", string2)) ) / nchar(search)
#returns 4

注意:在字符串的开头和结尾处对匹配项进行单元测试(即确保它适用于'llaabcdefghikllabcdefgllabcdlla')。我在其他地方看到了几个依赖strsplit()拆分'lla'的解决方案,但是这些解决方案跳过了单词末尾的最后一个'lla'。