java字符串匹配

时间:2015-02-09 10:20:58

标签: java

我在项目中所做的就是获取两个值(我从两个不同的excel文件中读取)并检查它们的相似程度。我尝试使用模式和匹配器类,当两个单词完全相同时(在组织和组织中),它们完美地工作。在我的数据中,我说的是(员工和就业),我只需要"雇用"作为两者之间的公共字符串,在这种情况下,模式和匹配失败。我被困在这一周以来。我在第一个excel文件中有大约700行,而在另一个excel文件中大约有9000行。我使用java读入程序的每个单元格值,我将它们存储在两个单独的变量中。接下来,我尝试使用4 for循环逐字逐句匹配,只找到两者之间匹配的那些字符。我已经粘贴了for循环实现的编码。四个循环就像让我疯狂。任何帮助完成这一点将不胜感激。

    String str1 = "Cover for employees of the company";
    String str2 = "Employment Agencies ";
    String str,strfinal;
    String[] count1 = str1.split("\\s+");
    String[] count2 = str2.split("\\s+");
    char[] count11 = str1.toCharArray();
    char[] count22 = str2.toCharArray();

    for(int i=0;i<count1.length;i++)
     {
        for(int j=0;j<count2.length;j++)
        {
            for(int m=0;m<count1[i].length();m++)
            {
                for(int n=0;n<count2[j].length();n++)
                {
                    if(count11[m]==count22[n])
                    {
                         // please look at the logic that I am looking for to implement
                    }
                }
            }
        }
    }

预期产出:雇用

我想要实现的另一个概念(为了使我的程序更有效)是.. 就业----(与之相比)就业。第一个字符本身不匹配.Implies转到第二个字符串中的下一个字。遍历并检查第二个字符串中的所有单词后,转到第一个字符串中的下一个单词,并将该单词与第二个字符串中的所有单词进行比较。 好的..所以这就是我现在正在寻找的...任何帮助将不胜感激。 谢谢!

0 个答案:

没有答案