我需要解析一个输入句子。 我有一个包含" MCA"和" CA",这个列表迭代输入句子以查找它是否包含它们。 但是如果输入句子只包含" MCA" ,我得到输出,因为它包含两个关键字,但实际上它只包含一个单词。
我应该如何处理这个问题?
答案 0 :(得分:0)
如果您尝试将关键字视为不同的字词,则可以尝试撰写正则表达式,并使用\b
代币围绕关键字。这个标记匹配两个单词之间的边界。
以下是一些如何运作的例子:
System.out.println("MCA".matches(".*\\bCA\\b.*")); // false
System.out.println("CA".matches(".*\\bCA\\b.*")); // true
System.out.println("M,CA".matches(".*\\bCA\\b.*")); // true
另请注意,如果关键字可以包含特定于正则表达式的特殊字符,则需要在编写正则表达式之前正确转义它们。