java - 使用. contains( )的關鍵字匹配的java字元串

  显示原文与译文双语对照的内容
93 3
String a ="Hello my name is Sap";
String b ="HelloisSamynamep";
String c ="Sap is my name";
String d ="Sap";
String keyword ="Sap";

當我使用 .contains() 時,這兩個字元串都是 true 。

它如何使 true 僅在第一個字元串中得到?

注意:在關鍵字前添加空格如果第一個單詞的關鍵字。請幫助!

編輯: 添加了所有可能的條件

解決方案: 借助其他答案,我找到了滿足每個條件的解決方案

if (a.contains(""+key+"") || a.startsWith(key+"") 
 || a.equals(key) || a.endsWith(""+key))

正規表達式 會比這個快?

时间:原作者:0个回答

65 5

可以將輸入 String 拆分為單詞,將它的轉換為 List,並在 List 上運行 contains:

Arrays.asList("Hello my name is Sap".split("")).contains("Sap")
原作者:
50 2

你可以簡單地使用 正規表達式 。b 用於單詞邊界。

Pattern p = Pattern.compile("bSapb");
String a ="Hello my name is Sap";
Matcher m1 = p.matcher(a);
System.out.println( m1.find());//return true
String b ="HellomynameisSap";
Matcher m2=p.matcher(b);
System.out.println( m2.find());//return false
String c ="Hello Sap my name";
Matcher m3=p.matcher(c);
System.out.println( m3.find());//return true
String d ="Sap";
Matcher m4=p.matcher(d);
System.out.println( m4.find());//return true
原作者:
74 2

只需嘗試以下

if(Str.startsWith("Sap") || Str.contains(" Sap")){
 <code>
}
原作者:
71 2

"包含( )"應該工作。

String a ="Hello my name is Sap";
String b ="HelloisSamynamep";
String c ="Sap is my name";
String d ="Sap";
String keyword ="Sap";
System.out.println(a.contains(keyword));
System.out.println(b.contains(keyword));
System.out.println(c.contains(keyword));
System.out.println(d.contains(keyword));
Output -
true
false
true
true

如果我沒有錯,"。包含( ) 會在內部使用 正規表達式 。

原作者:
...