我一直在搞乱这一段时间,并决定在这里发帖,看看是否有人可以提供帮助。我甚至搞乱了RegExr工具(没有运气): http://gskinner.com/RegExr
无论如何,我有一个包含verbiage(没有引号)的字符串: “13.5至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] $ /;
我的问题是我不会知道String的格式。它也可能看起来像这样(两位数字跟随小数): 13.57至14.10
所以我需要确保它使用以下组合: 13.50至14.1,13.5至14.10,3.50至4.10,3.5至4.1(所有组合必须有效)
非常感谢任何帮助!
答案 0 :(得分: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));
答案 1 :(得分: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的习惯,这比你的应用程序中的迭代测试更快。 ;)