是否可以检查字符串数组,如果其中的元素可以转换为int或double?

问题描述 投票:0回答:1

我想知道您是否可以检查字符串数组中的元素,以查看是否可以将它们解析为int或double?我知道您可以尝试解析元素并处理引发的异常,但是还有另一种方法吗?

java arrays string int double
1个回答
0
投票

使用像这样的正则表达式-?\d+(.\d+)?

-?     --> optional negative symbol
\d+    --> indicates a sequence of one or more numbers
.?     --> optional decimal (for floats)
(\d+)? --> optional digits following the decimal

要匹配的命令就像str.matches("-?\\d+(.\\d+)?");,我只是用增强的for循环遍历它。 String.matches()boolean的内置函数,因此如果无法将字符串转换为浮点型或整型,则它将返回false

double \\仅用于转义文字\字符。

[如果您不希望模式与fewkjnf12.345r52v的一部分相匹配,则只需添加一个克拉以表示float / int的开头不应包含字符串,而在末尾加一个美元符号字符串以确保没有任何内容]

^-?\d+(.\d+)?$

please visit this site to see the regex in action

© www.soinside.com 2019 - 2024. All rights reserved.