【发布时间】:2019-10-01 05:03:06
【问题描述】:
尝试创建一个正则表达式,在 ',' 和 '\n' 处拆分字符串,然后传入自定义分隔符(在我的代码中由 firstChar 表示)。
传入字符串的格式:{delimiter}\n{numbers}。我在网上使用过 regex101,它似乎可以在那里工作,但在我的实际代码中,它并没有在自定义分隔符处拆分,所以不确定我做错了什么。
if (str.includes('\n')) {
let firstChar = str.slice(0, 1);
if (parseInt(firstChar)) {
strArr = str.split(/,|\n/) ;
} else {
strArr = str.split(/[,|\n|firstChar]/);
}
}
期望 ';\n2;5' 等于 7,但我的数组由于某种原因拆分为 [";", "2;5"]。
【问题讨论】:
-
你的第一个字符不是数字,所以你每次都会去 else 语句
-
@CodeManiac 这就是我想要的。如果第一个字符是数字,我想将其拆分为 '\n' 和 ','。否则,我想将它拆分为前面提到的分隔符以及传入的自定义分隔符(在本例中为';')。
-
[,|\n|firstChar]与[\n,|Cafhirst]完全相同。
标签: javascript regex string split