最近我一直在尝试找到一些操作字符串的方法(对于我的某个项目),而我一直在努力寻找适合我情况的方法。
通常,字符串将包含3个数字(也可以是十进制,这使它更复杂)并由1/2个符号(“-”,“ x”,“ *”等...)隔开。
我在网上做了一些研究,发现了这个解决方案(我认为这很好)
.match(/\d+/g)
当我在某些情况下尝试时,结果很好
var word = "9-6x3"
word = word.match(/\d+/g)
它给了我3个索引的数组,每个索引都包含一个数字['9', '6', '3']
(很好),但是如果字符串中有一个点(十进制数字),则此正则表达式将忽略它。
我需要一些正则表达式,可以忽略字符串中的点,但可以达到相同的结果。
案例=
var word = "9.5-9.3x7"
输出= ['9.5', '9.3', '7']
答案 0 :(得分:0)
这是一个满足您要求的简单正则表达式,
/\d+\.?\d*/g
答案 1 :(得分:0)
尝试使用此正则表达式以保留可选的小数位:
word.match(/\d+([\.]\d+)?/g)
这说: