我正在这里进行赋值工作,其中一部分需要我从字符串中解析整数,该字符串具有由任何其他字符分隔的数字组。 我知道我可以使用包装器类方法Integer.parseInt(string)从仅包含数字的字符串中解析整数,但是在这种情况下我该如何去做? 到目前为止,我已经考虑过对字符串进行线性搜索,并将变量分配给第一个出现数字的索引,最后一个数字之后的索引,并根据这些索引创建一个临时子字符串,从中可以解析int。 这是有效的方法吗? 也许有一个更有效的方法?
如何解析字符串中的多位数整数
How to parse multi-digit integers from string
===============>>#1 票数:5 已采纳
如果可以是任何字符(一个或多个),则可能会有所帮助:
String[] aarray = str.split("[^\\d]+");
例如:
String str = "12fdvvsd34.;h56s67.45c56";
String[] aarray = str.split("[^\\d]+");
for(int i = 0; i < aarray.length; i++)
System.out.println(Integer.parseInt(aarray[i]));
输出:
12
34
56
67
45
56
===============>>#2 票数:2
让API来完成这项工作,从而实现以下简单的一线式:
int i = Integer.parseInt(input.replaceAll("\\D", ""));
说明:
-
replaceAll("\\\\D", "")
用空格替换所有非数字,这有效地删除了所有非数字,只剩下数字字符 - 将结果(仅数字)传递到
Integer.parseInt()
===============>>#3 票数:0
您可以使用java.util.String拆分方法如果您有一个String,其子字符串由一个标记分隔:
String data "123.345.55.66";
String [] fields = data.split(".");
如果这不是您想要的,则可以通过逐个字符地遍历String来遍历细节:
for (int i = 0; i < data.size(); ++i) {
char c = data.charAt(i);
// manipulate as needed.
}
===============>>#4 票数:0
尝试这个:
Integer findNumber(String s){
List<String> num = Arrays.asList(s.split("[^0-9]"));
for(String n : num) if(!n.isEmpty()) return Integer.parseInt(n);
}
第一行将s
拆分为与非数字字符匹配的部分。
然后,第二行找到List
的第一个非空数字字符串。
ask by awfulwaffle translate from so
未解决问题?本站智能推荐:
2回复
如何解析包含许多整数的字符串
我正在尝试从xml文档中读取一些int:
那是我的Java代码:
我想将字符串位置解析为2个Integer(4和5),并且我想将字符串向量解析为5个Integer(并将它们放入数组中)。 我该怎么做? 感谢您的时间!
2回复
解析字符串数组以获取java中的整数值
我有一个类似“ 2 = 33 = file”的字符串。 我可以从字符串中得到第一个数字
我如何从字符串中获取值“ 33”。另外,如果我在字符串中输入“ 2 = 3 = file”,我也想获取值“ 3”。 抱歉,这是一个非常简单的问题,或者可能是非常具体的情况。
2回复
多任务:解析字符串中以空格分隔的整数
我的任务有问题。
我的工作是
从文件中获取String (源文件中的一行中的数字除以空格)
用空格分隔该字符串
然后将每个String解析为一个int
最后在它们上使用bubbleSort。
我坚持解析,不知道该怎么做。
代码atm看起来像这
1回复
在Android中解析带有字符和数字的字符串
我的以下字符串包含字符,数字以及其他非数字字符。 我设法替换了非数字字符。 但是我迷失了最后的字符和数字,我是从下面的方法中得到这个字符串的。 我使用此方法删除非数字。
结果为"I7f253e0", "I6fc2699" 。 我该如何解析?
1回复
如何解析多个整数
所以,我想将它们除以解析多个整数,或空间。 假设用户最多只能输入4个数字。 那么如果用户输入例如( 1 2 4 3 )或(1 2 3)如何进行多重检查? 因为检查每个不同的选择是不明智的。 (目前我只检查4个选项1,2,3或4),因为他不应该选择4个以上
3回复
如何在字符串中找到整数值
我有一个字符串,例如"ksl13<br>m4n" ,我想删除所有非数字字符以获取int 134。
Integer.parseInt(s)显然无法正常工作,但不确定如何处理。
3回复
Java中的字符串到32位整数,默认值比异常
我有一个带符号的整数值字符串,其范围可能从“ +2147483650”到“ -9638527412”。 我需要将它们解析为32位整数,这样,当字符串值大于整数容量(2 ^ 31)时,它应该返回最接近的可能整数值。 使用“ Integer.parseInt”会发出出站异常。
例:
3回复
比较字符串和整数(java)
我在进行一些Java编程时遇到了麻烦,我对比较操作数在输入之间的工作方式非常困惑。
我想要的是让我的程序接受输入,分析输入,检查输入是否相等并根据输入显示一条消息。 如何将输入与我设置的option1变量进行比较?
这是一个文件,称为loadfile.java
我有load
1回复
从字符串解析int会产生错误的结果
我正在尝试使用parseInt()从String获取一个int ,并且我读到了有关radix因此我将10作为第二个参数传递:
输出实际上是0 。 这里出了什么问题?
4回复
使用指数解析字符串(Java)
我有一个类似于: 7.6E+7的字符串。
我的问题很简单:如何将其转换为相应的数字: 76000000 ?
我已经尝试使用substring来隔离E+7部分,然后解析7部分,然后将小数位移到7以上。有更简单的方法吗?
谢谢!