2014-01-08 70 views
-1

我无法在AS3中使用这个工作,我只想在数字之间加一个逗号,只有当它们是空格时。数字之间的逗号

例如,如果字符串是“1.23 5.34”,我希望它变成“1.23,5.34”。问题在于空白不一,数字可能包含或不包含小数。所以,我想让“1 1.4”变成“1,1.4”或“2.3 4.5”变成“2.3,4.5”。这也包括负数,所以“1.4 -15.3”应该变成“1.4,-15.3”。如果在空白区域的任何一边只有一个数字,我想跳过这个空间而不会影响它。所以“Car 35.2”会被跳过,所以会(13.5)。

我已经尝试了几个在网上发现的正则表达式,并尽我所能有限的正则表达式知识,我有任何帮助将不胜感激。

谢谢。

+3

问题要求代码必须证明在解决实际问题,包括试图代码和遇到的问题 – HamZa

回答

2

UPDADE

(\ S)(= - \ d?)(感谢您的评论添)

尝试如下因素模式(< = \ d):

“(?< = \ d)(\ S)(?= [\ D-])”(编辑,以包括负的)

替换为” $ 1"

+1

一个最小的努力(?<= \ d)(\ S)( ?= - ?\ d) – Tim

+0

完美,非常感谢! –

0

您选择本质上取代“”用“”

var value:String = "1 2 -3 4 -5"; 
var csvValue:String = value.split(" ").join(", "); // will print out "1, 2, -3, 4, -5"