-3
您好使用正則表達式數值轉換具有數字數組作爲字符串:字符串在階
val original_array = Array("-0,1234567",......)
它是一個字符串,我想轉換爲數值的數組。
val new_array = Array("1234567", ........)
我該如何在scala中實現這一目標?
使用original_array.toDouble是給錯誤
您好使用正則表達式數值轉換具有數字數組作爲字符串:字符串在階
val original_array = Array("-0,1234567",......)
它是一個字符串,我想轉換爲數值的數組。
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+"""
可能適合您的要求。
爲什麼你認爲「-0,1234567」爲1234567,而不是-0.1234567? – Nyavro
因爲它是數據 –
@RajarshiBhadra中給出的月收入數組,請進一步解釋。你的數組不是一個字符串,因爲你聲明,它的第一個元素有兩個數字,所以我們需要你在這裏解釋你想要輸出的規則。 –