Java:检查String.contains是否与确切的单词匹配

时间:2017-03-14 21:02:33

标签: java

尝试检查文本文件是否包含字符串,但是我只想要确切的字符串,例如。

  

String.contains(CA)。

但是让我们说文本文件

  1. CA CALIFORNIA
  2. NP CALIPER
  3. WX ABDICATE
  4. 确切地检查“CA”的最佳方法是什么,我只想为(1)返回true,但在我的情况下,我将为所有三个都得到真实。

    while (scanner.hasNextLine()) {
            String line = scanner.nextLine();
            if(line.contains(Source)) {
                hasSource = true;
                break;
            }
            lineCounter++;
        }
    

2 个答案:

答案 0 :(得分:2)

试试正则表达式:

Pattern re = Pattern.compile("\\bCA\\b",Pattern.CASE_INSENSITIVE);
Matcher m = re.matcher(text);

Reference

答案 1 :(得分:1)

您可以使用正则表达式在另一个字符串中查找字符串,或者您甚至可以使用此方法:

//let's assume words are seperated by spaces only
for(String word: line.split(" ")) {
    if(word.trim().equals(source))
    //add your functionality
}

这假设您要搜索的单词可以出现在该行的任何位置。