【问题标题】:Add empty string if regex matches consecutive delimiters [duplicate]如果正则表达式匹配连续的分隔符,则添加空字符串 [重复]
【发布时间】:2020-09-17 12:26:28
【问题描述】:

我正在处理一个我想基于分隔符将数据从字符串转换为数组的案例。在下面的示例中,我将 | 作为分隔符,我想将其转换为值数组。

在理想情况下可以正常工作。但是如果有连续的分隔符(如您在第 3 行 v3|v3||v3|v3 中看到的那样)。我想将nullempty string 添加到数组中。

当我找到两个连续的分隔符时如何添加空值。

const data = `
h1|h2|h3|h4|h5
v1|v1|v1|v1|v1
v2|v2|v2|v2|v2
v3|v3||v3|v3
`;
const lines = data.trim().split(/\n/g);
const result = lines.map(line => line.trim().split(/\|+/g));
console.log(result);

【问题讨论】:

  • 删除+,使用split('|')

标签: javascript arrays regex split


【解决方案1】:

只需从您的正则表达式中删除 +

const data = `
h1|h2|h3|h4|h5
v1|v1|v1|v1|v1
v2|v2|v2|v2|v2
v3|v3||v3|v3
`;
const lines = data.trim().split(/\n/g);
const result = lines.map(line => line.trim().split('|'));
console.log(result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 2018-01-15
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    相关资源
    最近更新 更多