java - 提取字符串java中的数字

标签 java string split

我有一个非常简单的问题是我有一个字符串 0-1000 说 str = "0-1000"

我使用 str.split("-") 成功提取了 0 和 1000

现在,我被分配去检查这个数字,因为我注意到这两个数字可能是负数。

如果我继续 str.split("-"),那么我也会跳过负号。

谁能给我推荐方法?

最佳答案

String.split()使用正则表达式拆分,你可以这样做:

String[] nos = "-1000--1".split("(?<=\\d)-";

这意味着您在数字后面的减号字符处拆分,即必须是运算符。

请注意正向后视 (?<=\d)需要使用,因为您只想匹配减号字符。 String.split()删除所有匹配的分隔符,因此类似于 \d-也会删除数字。

要解析数字,您需要遍历数组元素并调用 Integer.valueOf(element)Integer.parseInt(element) .

请注意,这假设输入字符串是有效的。根据您想要实现的目标,您可能首先必须检查输入是否匹配,例如通过使用 -?\d--?\d检查字符串的格式是否为 x-y其中 xy可以是正整数或负整数。

关于java - 提取字符串java中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29916841/

相关文章:

java - 我如何在 Java 中确定图像的色彩空间?

java - 字符串比较错误

c++ - 如何在编译时重复连接字符串?

r - 按特定值对字符串进行排序

java - 拆分带有数字特殊处理的驼峰式字符串

ruby - 我怎样才能拆分字符串并保留空格呢?

split - 是否可以将 Greasemonkey 用户脚本拆分为多个文件?

java - 可运行对象与方法引用和垃圾

如果所有元素都为零,则 Java 清除列表

java - MultiKeyMap 中元素的顺序