我想用*
,/
,+
或-
拆分一个字符串,并且不使用''作为分隔符,所以给定字符串9.5+5*4/2.2
,我希望结果是["9.5", "5", "4", "2.2"]
,然而,我目前得到的结果是["9", "5", "5", "4", "2", "2"]
。
这是我曾经尝试过的:
const test = '9.5+5*4/2.2'
const signs = ['*', '+', '-', '/']
console.log(test.split(/[*+-/]/))
我想用*
,/
,+
或-
拆分一个字符串,并且不使用''作为分隔符,所以给定字符串9.5+5*4/2.2
,我希望结果是["9.5", "5", "4", "2.2"]
,然而,我目前得到的结果是["9", "5", "5", "4", "2", "2"]
。
这是我曾经尝试过的:
const test = '9.5+5*4/2.2'
const signs = ['*', '+', '-', '/']
console.log(test.split(/[*+-/]/))
1条答案
按热度按时间mzillmmw1#
+-/
被视为一个值范围,其中包括.
。请参阅ASCII表中的here。+
为43,/
为47。由于.
为46,因此包含在该范围中。要防止将
-
视为范围,请将其移到字符集的末尾: