我正在尝试在java中检查特定单词的String文件。
示例:
public String test() {
String text= "Your, me, everybody";
if(!text.contains("You"))
test1+= " and all!";
return test1;
}
编辑:感谢您的回复。但我需要的是:我的文字充满了文字和逗号。如果并且只有单词text.contains(you)或text.matches,如果该单词不在String中,那么它将被添加。但是,如果我尝试将示例结束,它会在文本中说“你”,因此不会执行 test1 + =“和所有!”; 在这个特殊的例子中它不那么危险,但是当我有一个大约100个单词的字符串时,有一些非常相似。或者以相同的字母开头或背后有逗号。
答案 0 :(得分:3)
只需使用text.contains("You")
- String.contains()将CharSequence作为参数。不需要正则表达式。
请注意,如果charSequence完全在字符串中,那么匹配“Your”,例如。这个特别的演示快速而肮脏 - 但我不建议(除非你想要这种行为)。
您需要将String.matches(String regex)用于相应的正则表达式 - 如其他答案中所详述。
答案 1 :(得分:2)
首先,contains()
采用文字字符串而不是正则表达式。其次,\b
在字符串文字(it's the backspace character)中具有特殊含义。
如下:
if(!text.contains("\bYou\b"))
需要成为
if(!text.matches(".*\\bYou\\b.*"))