检查字符串是否包含从控制台输入的字母

时间:2015-04-24 09:56:19

标签: java regex string

我有一个包含单词的String。 我有另一个字符串,其中包含从输入流传递的字母。

当输入一个字母时,我想看看它是否与包含单词的字符串中存储的任何字母匹配。

我查看过.indexOf()但这会返回一个整数。我也查看了contains(),但不幸的是,这个方法检查整个字符串是否与给定的字符串匹配。

是否有方法可以查看某个字母是否与单词中的任何字母匹配?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以手动执行 -

1.5-2

或者您可以像这样使用for(int i=0; i<str.length()-1; i++){ if(str.charAt(i)==charYouInput){ //do something eg- return the position of the index } } 方法 -

contains()

假设您正在搜索str.contains("c"); &#39; c&#39;。您可以像字符串一样使用它 - &#34; c&#34;。

答案 1 :(得分:0)

假设indexOf(String str)唯一的问题是它返回一个整数,而不是布尔值,请注意,根据Javadoc,如果找不到该字符串,则返回-1

因此,您的代码应与indexOf一起使用。您需要做的就是检查indexOf方法调用的结果是否产生-1(意味着子字符串不在原始字符串中)。

String sourceString = "This is a source string";
String toFind = "i";
boolean exists = sourceString.indexOf(toFind) == -1;

contains方法内部使用indexOf方法seem,这似乎与您的陈述相矛盾。因此,根据@ m0skit0的评论,您使用contains(String substring)方法。