寻找类似的字符串

时间:2015-05-22 14:38:09

标签: java c# string split similarity

我知道如何找到相似的字符串,但这种情况很棘手

支持我有以下字符串:

Xyz , rmz 2014-R1
Xyz 2014 - R1
Xyz , rmz 2014-r2

他们看起来都差不多吧?但我只希望我的程序返回具有相似数字的字符串

以下是我希望我的代码返回的内容:

Xyz , rmz 2014-R1
Xyz 2014 - R1

由于第三个字符串有2014-R2(它被认为是一年中的不同季度),我不希望我的代码返回。

我能想到的一种方法是拆分并收集所有数字。如果它的相似和数字相匹配吗?

这是删除重复,任何提示?我可能需要手动完成,但想出创造性的方法来解决这种情况。

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式搜索模式dddd-rd:

public static void main( String args[] ){
      String line = "Xyz , rmz 2014-r2";
      String pattern = "\\d\\d\\d\\d-.\\d";

      // Create a Pattern object
      Pattern r = Pattern.compile(pattern);

      // Now create matcher object.
      Matcher m = r.matcher(line);
      if (m.find( )) {
         System.out.println("Found value: " + m.group(0) );
      } else {
         System.out.println("NO MATCH");
      }
}

您可以检查此模式的每一行,然后检查它是否是您想要的年份/季度......

如果您想搜索特定年份和季度,可以这样做:

String pattern = "2014-r2";