E.g:
public static void test() {
int x = 0 ;
String line = "A24 ASD 46" ;
for ( int i = 0 ; i < line.length() ; i++) {
if (Character.isDigit(line.charAt(i))) {
int number = line.charAt(i) ;
System.out.println(number);
}
}
}
“x”表示打印char的ASCII值,而不是索引“i”的String元素!如何在String的索引中打印元素?
如果你真的需要int值,这个案例有getNumericValue()
:
int number = Character.getNumericValue(line.charAt(i))
但是,如果您只想打印源字符串中的所有数字,则不必将char
转换为int
,如@Deadpool所述。只是做System.out.println(line.charAt(i));
如果要使用流查找数字:
String line = "A24 ASD 46";
line.chars()
.filter(Character::isDigit)
.mapToObj(Character::toString)
.forEach(System.out::print);
将打印2446。