public static void main(String[] args) { String str = "数据测试,自定义字段"; //判断第一个字符是否为“数” if (str.startsWith("数")) { str = str.substring(1); } //判断最后一个字符是否为“段” if (str.endsWith("段")) { str = str.substring(0,str.length() - 1); } System.out.println(str); }
public static void main(String[] args) { String str = "数据测试,自定义字段"; //判断第一个字符是否为“数” if (str.startsWith("数")) { str = str.substring(1); } //判断最后一个字符是否为“段” if (str.endsWith("段")) { str = str.substring(0,str.length() - 1); } System.out.println(str); }
String s = "abc,";
方法一:
if(s.charAt(s.length()-1) == ',') { //s.length()-1获取字符串最后一位字符的索引,传入charAt方法获取索引对应的字符,判断是否为逗号
System.out.println(s.substring(0, s.length()-1)); //若为逗号,则通过substring截取需要的值
}
方法二:
if(s.lastIndexOf(",") == s.length()-1) { //lastIndexOf获取最后一个逗号的索引,判断是否是字符串的最后一位
System.out.println(s.substring(0, s.length()-1));
}
使用isDigit()方法
java.lang.Character类的isDigit()方法接受一个字符作为参数,并确定该字符是否为数字。如果给定字符是数字,则此方法返回true,否则,该方法返回false。
因此,确定给定String的第一个字符是否为数字。String类的charAt()方法接受表示索引的整数值,并返回指定索引处的字符。
的toCharArray()这个类的方法将字符串转换为字符数组,并返回它可以得到它的第一个字符作为数组[0]。
使用任何一种方法检索所需字符串的第一个字符。
然后,通过将其作为参数传递给isDigit()方法来确定它是否为数字。
示例import java.util.Scanner;
public class FirstCharacterOfString {
public static void main(String args[]) {
//从用户读取字符串
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);
String str = sc.next();
//将String转换为字符数组
char charArray[] = str.toCharArray();
boolean bool = Character.isDigit(charArray[0]);
if(bool) {
System.out.println("First character is a digit");
} else {
System.out.println("First character is not a digit");
}
}
}
输出1Enter a String
krishna
First character is not a digit
输出2Enter a String
2sample
First character is a digit
使用正则表达式。
的匹配() String类的方法接受一个正则表达式和验证它与当前的字符串相匹配,如果是的话,则返回TRUE,否则,返回false。
与包含第一个字符的数字的String匹配的正则表达式为“ ^ [0-9]。* $”。将此作为参数传递给String类的matchs()方法。
示例import java.util.Scanner;
public class FirstCharacterOfString {
public static void main(String args[]) {
//从用户读取字符串
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);
String str = sc.next();
boolean bool = str.matches("^[0-9].*$");
if(bool) {
System.out.println("First character is a digit");
} else {
System.out.println("First character is not a digit");
}
}
}
输出1Enter a String
krishna
First character is not a digit
输出2Enter a String
2sample
First character is a digit
1用JAVA自带的函数
数字 Character.isDigit(char ch)
字母 Character.isLetter(char ch)
public static boolean isNumeric(String str){
for (int i = str.length();--i>=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
2用正则表达式
public static boolean isNumeric(String str){
Pattern pattern = Pattern.compile("[0-9]*");
return pattern.matcher(str).matches();
}
3用ascii码
public static boolean isNumeric(String str){
for(int i=str.length();--i>=0;){
int chr=str.charAt(i);
//a-z:97-122,A-Z:65-90,0-9:48-57
if(chr<48 || chr>57)
return false;
}
return true;
}