Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 在scala中使用正则表达式进行字符串到数字的转换_Regex_Scala - Fatal编程技术网

Regex 在scala中使用正则表达式进行字符串到数字的转换

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) 。。。但这有点危险,因为如果任何字符串

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 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,请进一步解释。正如您所说,您的数组不是字符串,它的第一个元素中有两个数字,因此我们需要您在这里解释您想要作为输出的规则。