我有2個字符串,如下所示。 在first_string =「B」和second_string =「A,B,C,D,E」中。在另一個字符串中比較多個值中的一個字符串
如何比較first_string和second_string的個別值?
我有2個字符串,如下所示。 在first_string =「B」和second_string =「A,B,C,D,E」中。在另一個字符串中比較多個值中的一個字符串
如何比較first_string和second_string的個別值?
first_string = "B"
second_string = "A,B,C,D,E"
second_string.contains(first_string)
我建議你使用http://docs.oracle.com/javase/7/docs/api/java/lang/String.html 找出你可以用字符串
哎呦固定的邏輯。 –
這將這樣的伎倆做什麼:
second_string.contains(first_string);
您可以使用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 split
String
上的「,」,並將結果轉換爲stream,然後檢查流的其中一個值是否等於firstString
。
這也支持其中一個列表的值是「BA」的情況,這與contains
方法相反。
如果你不想用java 8流,你也可以做到這一點使用正則表達式:
if (secondString.matches("(^|.*,)" + Pattern.quote(firstString) + "($|,.*)")) {
這將創建一個表達式檢查是否firstString
值是在secondString
開頭或結尾,或之前或之後是「,」。
@Chandrabhan問題是什麼時候'secondString'就是這樣的:''A,BA,C,D「',而firstString'是''B」',它會返回'true',因爲它匹配只有「B」部分,而不是「之間」的整個部分。 –
你可以試試;
public class Stringtest
{
public void main(String[] args) {
String a = "wanted';
String b = "n";
if (a.contains(b))
{
System.out.println("Yes it works");
}
}
通過編寫這樣做的代碼。 – Maroun
@MarounMaroun - 通過編寫檢查一個字符串是否包含()另一個的代碼:P – TheLostMind
secondString.contains(firstString) – SpringLearner