假设有两个字符串:
String 1
:“从前有一位名叫白雪公主的美丽公主......”String 2
:“当然是一个美丽的公主成为一个人的时候......”在Swift中找到两个字符串的单词级别中最长的“交叉点”(或所有可能的交叉点)的最佳方法是什么?在之前的案例中,它将是:“一位美丽的公主”。
答案 0 :(得分:0)
您可以使用lib来计算两个文本的差异。我使用DiffMatchPatch,这对我有用。
要使其在单词级别上运行,您可以做两件事:
获取结果并查看跑步者的边界是否在单词内。在这种情况下,将跑步者缩短到单词边界。
将每个不同的单词翻译成单个UTF-16字符(NSString
内部使用的内容),然后在该文本上运行差异。由于每个单词都成了一个字母,因此结果在语义上将包含单词而不是字母。