2015-06-09 145 views

回答

0

這將這樣的伎倆做什麼:

second_string.contains(first_string); 
1

您可以使用Java 8:

final String firstString = "B"; 
final String secondString = "A,B,C,D,E"; 

if (Arrays.stream(secondString.split(",")).anyMatch(s -> s.equals(firstString))) { 
    // match 
} 

This splitString上的「,」,並將結果轉換爲stream,然後檢查流的其中一個值是否等於firstString

這也支持其中一個列表的值是「BA」的情況,這與contains方法相反。

如果你不想用java 8流,你也可以做到這一點使用正則表達式:

if (secondString.matches("(^|.*,)" + Pattern.quote(firstString) + "($|,.*)")) { 

這將創建一個表達式檢查是否firstString值是在secondString開頭或結尾,或之前或之後是「,」。

+0

@Chandrabhan問題是什麼時候'secondString'就是這樣的:''A,BA,C,D「',而firstString'是''B」',它會返回'true',因爲它匹配只有「B」部分,而不是「之間」的整個部分。 –

0

你可以試試;

public class Stringtest 
{ 
public void main(String[] args) { 
String a = "wanted'; 
String b = "n"; 
if (a.contains(b)) 
{ 
System.out.println("Yes it works"); 
} 
} 
相關問題