从字符串中分割数字(也可以是十进制数字)

时间:2020-04-19 12:37:01

标签: javascript regex

最近我一直在尝试找到一些操作字符串的方法(对于我的某个项目),而我一直在努力寻找适合我情况的方法。 通常,字符串将包含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']

2 个答案:

答案 0 :(得分:0)

这是一个满足您要求的简单正则表达式,

/\d+\.?\d*/g

答案 1 :(得分:0)

尝试使用此正则表达式以保留可选的小数位:

word.match(/\d+([\.]\d+)?/g)

这说:

  • \ d +-任何数字
  • ([[..] \ d +)? -可选的是小数点后跟数字