2016-09-28 71 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)。 –