2016-09-28 83 views
0

串說我有以下數據匹配兩個基於模式

string data1 = "2014SP"; 
string data2 = "2014DP"; 
string data3 = "2014AP-S1" 

有沒有辦法比較的同時,他們遵循的模式是說NumberWordSpecialCharacter等,所以在這種情況下,數據1和琴絃我可以告訴data2具有相同的模式,data3不同。

我可以使用正則表達式,如果我已經定義了模式,但我沒有。我有一個需要比較的數據列表,同時增加了未定義的模式,因此可能一個比較集是213S-P12和2014S,第二個是S-P2015和SP123。

+1

第一步將實際明確指定「模式」對您的情況意味着什麼。比它應該是微不足道的比較每個字符串的模式。 –

+0

[C# - 比較字符串相似度]的可能重複(http://stackoverflow.com/questions/6944056/c-sharp-compare-string-similarity) – Mick

+0

如果您希望提供一些正面和負面的示例,得到任何有用的答案。 – Enigmativity

回答

0

第一個想法突然出現在我的腦海中,您可以通過將輸入字符串轉換爲輸出整數來嘗試簡單的模式模型。如:如果是字母(或字母塊),則用1代替;數字,用2代替;等等。簡單而高效。我不確定這有助於:)

+0

您顯然會使用字符串作爲結果,而不是整數 - 但實際上它是標準方法的想法:通過相應的值歸一化值標準化值。即''2014AP-S1「'會映射到」ddddaasad「(d - digit,a - alpha,s - special)。 –