0

我已经搞砸了一段时间,并决定在这里发帖,看看是否有人可以帮忙。我什至弄乱了 RegExr 工具(没有运气): http ://gskinner.com/RegExr

无论如何,我有一个包含措辞(不带引号)的字符串:“13.5 to 14.1”

我需要创建一个具有第一个数字的 var:13.5 和一个具有第二个数字的 var:14.1

所以我想要以下结果:

var firstVal:String = 13.5; var secondVal:String = 14.1;

我通过对第一个数字执行以下操作来使其工作: var lowRegExp:RegExp=/\d[0-9].\d[0-9]/;

对于第二个数字,我这样做了: var highRegExp:RegExp=/\d[0-9].\d[0-9]$/;

我的问题是我不知道字符串的格式。它也可能看起来像这样(小数点后两位数):13.57 到 14.10

所以我需要确保它使用以下组合工作:13.50 到 14.1、13.5 到 14.10、3.50 到 4.10、3.5 到 4.1(所有组合都必须有效)

任何帮助深表感谢!

4

2 回答 2

0

这就是我要工作的地方。我不确定这有多干净,我也不喜欢硬编码,但它适用于所有场景。如果有人知道这样做的干净方法,请告诉我。

var myString:String="13.5 to 14.1";
var firstVal:String=myString.substring(0, myString.search(" to "));
var secondVal:String=myString.substring((myString.search(" to ") + 4));
于 2012-11-14T21:33:00.757 回答
0

应该很简单,您需要以下内容: - 任何 # 个数字,后跟一个句点文字,然后是任何 # 个数字。

Pattern: \d+\.\d+
So use something similar:
var mystr:String = "15.4 to 153.93";
var tokens:Array = mystr.match(/\d+\.\d+/g);

另外,我已经养成了使用regexpal.com的习惯,这比在您的应用程序中进行迭代测试要快得多。;)

于 2012-11-14T21:46:25.970 回答