2014-12-02 80 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

相關問題