我有一个关键字(例如'绿色')和一些文字(“我不喜欢他们Sam我是!”)。
我想看看关键字中有多少个字符('g','r','e','e','n')出现在文本中(按任意顺序)。
在这个例子中答案是3 - 文本没有G或R但有两个Es和N.
我的问题出现在文本中的字符与关键字中的字符匹配的情况下 不能 用于匹配关键字中的其他字符。
例如,如果我的关键字是'greeen',则“匹配字符”的数量仍为3(一个N和两个Es),因为文本中只有两个Es,而不是3(与关键字中的第三个E匹配) 。
我怎么能在R中写这个?这只是在记忆的边缘滴答作响 - 我觉得这是一个常见的问题,但措辞不同(有点像没有替换的采样,但“匹配没有替换”?)。
例如。
keyword <- strsplit('greeen', '')[[1]]
text <- strsplit('idonotlikethemsamiam', '')[[1]]
# how many characters in keyword have matches in text,
# with no replacement?
# Attempt 1: sum(keyword %in% text)
# PROBLEM: returns 4 (all three Es match, but only two in text)
预期输入/输出的更多示例(关键字,文本,预期输出):
- 'green','idonotlikethemsamiam',3(G,E,E)
- 'greeen','idonotlikethemsamiam',3(G,E,E)
- 'red','idonotlikethemsamiam',2(E和D)