比较另一个字符串中多个值中的一个字符串

时间:2015-06-09 06:59:55

标签: java regex string split compare

我有2个字符串如下。 在first_string =" B"在second_string =" A,B,C,D,E"。

我如何将first_string与second_string的个别值进行比较?

4 个答案:

答案 0 :(得分: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
}

split String上的stream,并将结果转换为{{3}},然后检查流的其中一个值是否等于firstString

这也支持列表中的一个值为“BA”的情况,与contains方法相反。

如果您不想使用java 8流,也可以使用正则表达式执行此操作:

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

这将创建一个表达式,检查firstString值是secondString的开头还是结尾,或者前面或后面是“,”。

答案 1 :(得分:0)

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 找出你可以用字符串做什么

答案 2 :(得分:0)

这样可以解决问题:

second_string.contains(first_string);

答案 3 :(得分: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");
 }
}