题目 – 检查字符串是否完整(包含所有字母)
题目 – 检查字符串是否完整(包含所有字母)
如果字符串包含从 a 到 z 的所有字符,则认为该字符串是完整的。 给定一个字符串,检查它是否完整。 例如:
示例输入
3
wyyga
qwertyuioplkjhgfdsazxcvbnm
ejuxggfsts
示例输出
NO
YES
NO
使用for
循环和indexOf()
的解决方案
我写了一个简单的函数,可以找到这个完整的字符串。
package com.howtodoinjava.examples;
public class CheckAllAlphabetsAlgorithms
{
public static void main(String[] args)
{
System.out.println( checkAllChars( "qwertyuioplkjhgfdsAzxcvbnm" ) );
System.out.println( checkAllChars( "123" ) );
System.out.println( checkAllChars( "ejuxggfsts" ) );
System.out.println( checkAllChars( "wyyga" ) );
}
private static String checkAllChars ( String input )
{
//If input length is less than 26 then it can never be complete
if(input.length() < 26)
{
return "FALSE";
}
for (char ch = 'A'; ch <= 'Z'; ch++)
{
if (input.indexOf(ch) < 0 && input.indexOf((char) (ch + 32)) < 0)
{
return "FALSE";
}
}
return "TRUE";
}
}
输出:
TRUE
FALSE
FALSE
FALSE
用于正则表达式的解决方案
这是一个使用正则表达式查找完整字符串的解决方案(很丑,因为我不喜欢长的正则表达式)。
package com.howtodoinjava.examples;
public class CheckAllAlphabetsAlgorithms
{
public static void main(String[] args)
{
System.out.println( checkAllCharsUsingRegex( "qwertyuioplkjhgfdsAzxcvbnm" ) );
System.out.println( checkAllCharsUsingRegex( "123" ) );
System.out.println( checkAllCharsUsingRegex( "ejuxggfsts" ) );
System.out.println( checkAllCharsUsingRegex( "wyyga" ) );
}
private static String checkAllCharsUsingRegex ( String input )
{
//If input length is less than 26 then it can never be complete
if(input.length() < 26)
{
return "FALSE";
}
String regex = "(?i)(?=.*a)(?=.*b)(?=.*c)(?=.*d)(?=.*e)(?=.*f)"
+ "(?=.*g)(?=.*h)(?=.*i)(?=.*j)(?=.*k)(?=.*l)(?=.*m)(?=.*n)"
+ "(?=.*o)(?=.*p)(?=.*q)(?=.*r)(?=.*s)(?=.*t)(?=.*u)(?=.*v)"
+ "(?=.*w)(?=.*x)(?=.*y)(?=.*z).*";
if(input.matches(regex)){
return "TRUE";
}
return "FALSE";
}
}
输出:
TRUE
FALSE
FALSE
FALSE
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果