2014-12-02 73 views
0

嘿我想要下面返回true,如果任何匹配(例如,它应该返回true,因为它包含randomstuff,即使第一部分不匹配)。XSL包含返回true,如果有任何匹配

contains('otherrandomstuff', 'blargrandomstuff') 

干杯

+0

你有没有想过这件事? **究竟**会构成“匹配”?在你的方法中,即使只有一个普通的人物也足够了。 - P.S.请指明XSLT 1.0或2.0。 – 2014-12-02 03:09:53

+0

最好的方法是CONCAT两个字符串,并检查是否有任何重复的字符串。 – 2014-12-02 03:10:59

+0

@usermesamjosein *该*如何工作? – 2014-12-02 04:20:06

回答

1

这里是一个可能的(不是很有效)算法:

(1)发现,同时出现在字符串中的所有字符。称这是常见的子集。

(2)在这两个字符串,找到共同的子集只包含字符的所有子

(3)发现,在两组中的子

(4)其中,时间最长

(5)如果长度超过某个阈值,报告成功。

但是,在生成工作代码方面,我不打算进一步讨论,因为我强烈怀疑您没有完全想到要求。在编写代码之前,我想知道你想要实现什么。另外,虽然在XSLT 2.0中尝试这样做是非常可行的,但XSLT 1.0解决方案相当怪异。

+0

如果有一个门槛,那么没有必要寻找最长的匹配。你可以在'contains()''b-n + 1'迭代中找到(布尔)答案,其中'b'是较短字符串的字符串长度,'n'是阈值。在XSLT 1.0中完美可行。 – 2014-12-02 12:03:56

相关问题