我对java很新,并且想知道是否有一个方法可以在字符串中找到大写字母,并且是否有方法可以在字符串中找到数字。谢谢
不,它不是专有方法。 您可以使用正则表达式,或循环遍历字符串中的字母并提取您需要的内容。
在这里查看一些代码: Extract digits from string - StringUtils Java Extract digits from a string in Java
在您提出问题之前,请先搜索。
Java String API没有提供具体的方法。你必须使用String
提供的一些方法自己编写代码。
如果你是一个初学者,我建议看看Manipulating Strings in Java,how do loops work in Java和Character
类(特别是isDigit()
和isUpperCase()
方法)。
由于您尚未指定任何进一步处理String的计划,您可以使用类似的方法来查找大写和数字:
public class Extraction {
public static void main(String[] args) {
String test = "This is a test containing S and 10";
for (char c : test.toCharArray()) {
if (Character.isDigit(c)) {
System.out.println("Digit: " + c);
}
else if (Character.isUpperCase(c)) {
System.out.println("Uppercase letter: " + c);
}
}
}
}
你可以试试
for(Character c : s.toCharArray()){
if(c.toString().toUpperCase().equals(c.toString())){
System.out.println("Upper case");
}
else {
System.out.println("Lower case");
}
}
所以我们将String转换为字符数组,迭代它并在每次迭代中我们将它自己与大写进行比较,以检查使用的是什么情况。
并且为了找到号码你可以做类似下面的事情
for(Character c : s.toCharArray()){
try{
Integer.parseInt(c.toString());
System.out.println("Integer Identified");
}catch (NumberFormatException ex){
System.out.println("Not an integer");
}
}
对于数字,只需使用Integer.parseInt()
解析String。如果它能够成功解析那么它是一个数字或者如果抛出异常则它不是数字。