java - 如何检查字符串是否只包含字母?
问题描述
如何检查字符串是否只包含字母?是否有任何特定功能可以做到这一点?
解决方案
I don't know about a direct function But you can follow these steps :
1) Take a string as input
2) By using toLower()
method, convert everything into lower case
3) Use toCharArray()
method of the String class to convert into a character array
4) Now check whether at every location has character between a to z
code :
import java.util.Scanner;
public class StringValidation{
public boolean validtaeString(String str) {
str = str.toLowerCase();
char[] charArray = str.toCharArray();
for (int i = 0; i < charArray.length; i++) {
char ch = charArray[i];
if (!(ch >= 'a' && ch <= 'z')) {
return false;
}
}
return true;
}
public static void main(String args[]) {
Scanner sc= new Scanner(System.in);
System.out.println("Enter a string value: ");
String str = sc.next();
StringValidation obj = new StringValidation();
boolean bool = obj.validtaeString(str);
if(!bool) {
System.out.println("Given String is invalid");
}else{
System.out.println("Given String is valid");
}
}
}
Here is the output:
Output:
Enter a string value:
24stackoverflow
Given String is invalid
------------------------
Enter a string value:
StackOverflow
Given String is valid
推荐阅读
- vba - 在VBA中格式化为字符串时的时间比较?
- coq - 在 coq 中获取最小值的函数
- signalr.client - Signalr .net 核心客户端中的异步处理程序
- svg - SVG 在 IE 11 中重复两次,在 Chrome 中运行良好
- ruby-on-rails-5 - 是否可以删除 ActiveRecord 关系的“默认”WHERE 规则?
- mysql - 来自不同行(具有相同日期)数据的日期表的 GROUP 结果
- javascript - Express Body-parser 文件上传大小限制不起作用
- java - 如何返回程序的开头 - java
- hadoop - 从包含 Map(retweet -> 0,loc -> none) 形式的数据的文件创建一个配置单元表
- c++ - fopen("filename", "wb") 返回 null