如果您真的想“ ...更加强调子字符串的准确性及其顺序...”,那么此函数可以工作,因为它可以测试字符串是否是另一个字符串的子字符串:>
library(data.table)
x <- c("A&A PRECISION","A&A PRECISION ENGINEERING","B&B PRECISION")
y <- x
我们要扩展网格。为此,我将使用CJ
中的data.table
函数。然后,我们将检查每一对,看看x是否为y的子字符串(反之亦然):
CJ(x,y)[,similarity := apply(.SD,1,function(x) x[2] %like% x[1]),.SDcols = c("x","y")][x != y,]
x y similarity
1: A&A PRECISION A&A PRECISION ENGINEERING TRUE
2: A&A PRECISION B&B PRECISION FALSE
3: A&A PRECISION ENGINEERING A&A PRECISION FALSE
4: A&A PRECISION ENGINEERING B&B PRECISION FALSE
5: B&B PRECISION A&A PRECISION FALSE
6: B&B PRECISION A&A PRECISION ENGINEERING FALSE
请记住,您需要确保字符串尽可能整齐才能正常工作,甚至可能会失败。
我会检查一些事情来清理您的琴弦:
- 删除多个空格,
- 删除字符串开头/结尾的空格
- 确保相同的编码
- 确保相同的情况下
您可以使用stringi
软件包来实现。
本文链接:https://www.f2er.com/3132007.html