java - 从 Java 上的字符串中获取第一个数字
问题描述
假设我有一个以数字开头的字符串。如何获取/提取所有第一个数字并将它们转换为整数?不想要字符串上的所有数字,我想要从第一个数字到最后一个数字之前的任何其他字母或字符。
例如:
String s= "5634-abofrda/+l8908"; // 5634
String str="78695t08675jgk"; // 78695
如何获得 5634 号码?我正在寻找一个通用的解决方案,而不是针对所描述的案例。
解决方案
此方法可用于在找到另一个字符之前返回一个数字
static int getNumbers(String s) {
String[] n = s.split(""); //array of strings
StringBuffer f = new StringBuffer(); // buffer to store numbers
for (int i = 0; i < n.length; i++) {
if((n[i].matches("[0-9]+"))) {// validating numbers
f.append(n[i]); //appending
}else {
//parsing to int and returning value
return Integer.parseInt(f.toString());
}
}
return 0;
}
用法:
getNumbers(s);
getNumbers(str);
输出:
5634
78695
推荐阅读
- c# - WPF TreeView中的多级多选
- php - Php/MySql 查找/替换 json 中的 utf-8 字符串
- html - jQuery:如何在单击按钮上将其传递给我的函数?
- html - Float 将所有内容移到一侧,HTML 和 CSS
- java - Hashmap - 迭代并打印太多次输出
- performance - 谷歌表格脚本超过最大执行时间
- arrays - 如何根据 Angular Reactive Forms 重新分配嵌套数组键?
- java - 无法使用 power mock 模拟最终课程
- spring-boot - Spring Boot 中的大小注释返回 400 Bad Request
- angular - 是否可以在 MatAutoComplete 上以角度显示管道?