查找相似的字符串

本文关键字:字符串 相似 查找 | 更新日期: 2023-09-27 17:50:34

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

假设我有以下字符串:

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

它们看起来都很相似,对吧?但是我只希望我的程序返回具有类似数字的字符串

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

Xyz , rmz 2014-R1
Xyz 2014 - R1

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

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

这是为了删除重复项,有什么建议吗?我可能不得不手动操作,但我正在思考解决这种情况的创造性方法。

查找相似的字符串

您可以使用正则表达式搜索模式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";