【问题标题】:How to split a string by space?如何按空格分割字符串?
【发布时间】:2019-05-25 15:48:06
【问题描述】:

我需要用空格分割这个字符串:

<i>Lorem</i> 1 <span class="text-danger">ipsum</span> dolor sit amet, consectetur adipisicing elit. Animi consequuntur, eos? Error facere maiores minima molestiae obcaecati, quis voluptatum. Aspernatur cumque doloremque ducimus eos explicabo facilis fuga, nulla quos voluptate.

难点是我里面也有html标签。

我试过这样的方法,但它也需要空格

/<(.*?)>(.*?)<(.*?)>|\w*(.*?)(?:\s*?[,?.-])?/g

我该如何解决这个问题?

【问题讨论】:

  • 你也想拆分span class还是一起维护?
  • 你想完成什么?如果要提取元素,请使用选择器或文档解析器。
  • 不要用正则表达式解析 HTML,it's really a hard job,改用 DOM 解析器。

标签: javascript regex string split


【解决方案1】:

在这里,我们可能不想使用正则表达式。但是,如果你真的需要的话,我猜我们可以在捕获组(\s) 中使用空间并且可能会起作用:

const regex = /(\s)/gm;
const str = `<i>Lorem</i> 1 <span class="text-danger">ipsum</span> dolor sit amet, consectetur adipisicing elit. Animi consequuntur, eos? Error facere maiores minima molestiae obcaecati, quis voluptatum. Aspernatur cumque doloremque ducimus eos explicabo facilis fuga, nulla quos voluptate.
`;
const subst = `\n`;

// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);

console.log('Substitution result: ', result);

【讨论】:

    猜你喜欢
    • 2011-12-15
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多