gpt4 book ai didi

javascript - 如何拆分字符串包含javascript中的分隔符?

转载 作者:行者123 更新时间:2023-12-04 03:43:06 31 4
gpt4 key购买 nike

我有类似“1 + 2 - 3 + 10”的字符串。我想将它拆分为 "1"、"+2"、"-3"、"+10"

这是我的代码。

var expression = "1 + 2 - 3 + 10";
expression = expression.replace(/\s+/g, '');
let fields = expression.split(/([+-]\d+)/g);
console.log(fields);

但是结果是

["1", "+2", "", "-3", "", "+10", ""]

如何生成结果 ["1", "+2", "-3", "+10"]

最佳答案

你的正则表达式需要一个组

/([+-]\d+)/
^ ^ group

包含在结果集中。

作为结果,对于后续的每次迭代,您都会得到两个部分,即来自组的先前部分和组本身。

"1"    first find
"+2" group as separator for splitting, included to result set
"" second find, empty because of the found next separator
"-3" second separator/group
"" third part without separator
"+10" third separator
"" rest part between separator and end of string

您可以通过运算符(operator)的积极前瞻来拆分。

const
string = '1 + 2 - 3 + 10',
result = string.replace(/\s+/g, '').split(/(?=[+-])/);

console.log(result);

关于javascript - 如何拆分字符串包含javascript中的分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65609185/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com