我需要检查一个字符串,看看它是否包含java中的任何一个字符(#,$,%和&)。我需要同时检查所有4个,如果可能的话没有正则表达式的循环。我使用它来验证电子邮件地址的有效性,所以我不能检查特殊字符,因为电子邮件包含@。有没有办法将.contains方法与switch语句一起使用?
答案 0 :(得分:2)
给定String
str
,并且没有循环或正则表达式,您可以使用一系列布尔值来调用String.contains(CharSequence)
,如
if (str.contains("#") && str.contains("$") && str.contains("%")
&& str.contains("&")) {
System.out.printf("%s contains #$%%&%n", str);
} else {
System.out.printf("%s does not contain #$%%&%n", str);
}
答案 1 :(得分:0)
您应该使用String.contains(...)
答案 2 :(得分:0)
String.subString(String foo)
允许您搜索特定区分大小写的字符。
Foo.subString(String.ignoreCase("bar")
会在foo
中搜索字符串“bar”。
这将返回“bar”的第一个字母的索引,如果找不到该字符串,则返回-1。