检查逗号分隔字符列表中是否存在字符

时间:2017-11-07 20:36:28

标签: java string char comparison

我有一个逗号分隔的字符串,即

String charList = "A,F,3,K,X";

我有一个我要比较的字符,看它是否存在于此列表中,即

char firstChar = 'A'

我想做类似的事情来查看字符串中是否存在字符,而不必进行一堆字符串解析和循环:

System.out.println(charList.contains(firstChar))

但是,contains方法需要CharSequence而不是char。除了做自己的循环和比较之外,还有更好的方法吗?

boolean matches = false;
for (int i = 0; i < charList.length(); i++){
    if(firstChar == s.charAt(i)) {
        matches = true;
    }
}

3 个答案:

答案 0 :(得分:1)

您可以采用以下几种方式:

 
-1

  • 检查boolean match = charList.indexOf(firstChar) != -1; String contains {需要从char传递到char String} String.contains(CharSequence) < / LI>
 
+""

答案 1 :(得分:0)

char转换为String

很容易
charList.contains(firstChar + "")

或使用Character.toString(char)转换

charList.contains(Character.toString(firstChar))

或使用String.indexOf(char)

charList.indexOf(firstChar) >= 0

使用带有String.matches(String)的正则表达式可能会对单个字符造成轻微的过度杀伤,但如果您有多个,则可能很方便

charList.matches("[ABC]") //true if contains 'A', 'B', or 'C'

答案 2 :(得分:0)

试试这个

matches = charList.contains(String.valueOf(firstChar));