Regex 在scala中使用正则表达式进行字符串到数字的转换
Hi将数字数组作为字符串:Regex 在scala中使用正则表达式进行字符串到数字的转换,regex,scala,Regex,Scala,Hi将数字数组作为字符串: val original\u array=array(“-01234567”,…)这是一个字符串,我想转换为数字数组 val new_array = Array("1234567", ........) 在scala我怎么能接受这个 使用original_array.toDouble会产生错误简单的答案是 val arrNums = Array("123", "432", "99").map(_.toDouble) 。。。但这有点危险,因为如果任何字符串
val original\u array=array(“-01234567”,…)
这是一个字符串,我想转换为数字数组
val new_array = Array("1234567", ........)
在scala我怎么能接受这个
使用original_array.toDouble会产生错误简单的答案是
val arrNums = Array("123", "432", "99").map(_.toDouble)
。。。但这有点危险,因为如果任何字符串不是正确的数字,它都会抛出
这更安全
val arrNums = Array("123", "432", "99").collect{ case n
if n matches """\d+""" => n.toDouble
}
。。。但您需要使用覆盖所有情况的正则表达式模式。此示例无法识别浮点数(“1.1”)或负数(“-4”)。类似“<代码>”、“-\\d*\\d++”、“”可能符合您的要求。为什么您认为“-01234567”为1234567,而不是-0.12345?67,因为它是一个月收入的数组。data@RajarshiBhadra,请进一步解释。正如您所说,您的数组不是字符串,它的第一个元素中有两个数字,因此我们需要您在这里解释您想要作为输出的规则。