javascript - 用空格或字符分隔文本并包含该字符

标签 javascript string ecmascript-6

我想通过空格和特殊字符来滑动文本,但我想保留这些字符。我想要分离的文本是CSS格式的。举个例子:

.box {
  background: red;
  color: white;
}

我已经像这样以数组格式排列了

[ " .box { " ]
[ " background: red; " ]
[ " } " ]
[ " color: white; " ]

我想用空格和这些字符“:”和“;”分割每个字符串

所以我会得到这样的结果:

[".box"] ["{"]
["background"] [":"] ["red"] [";"]
["color"] [":"] ["white"] [";"]
["}"]

我想记住语法,以下是一些可能的情况:

background: red;          -> ["background"] [":"] ["red"] [";"]
background      : red ;   -> ["background"] [":"] ["red"] [";"]
backg    round : red ;    -> ["backg"] ["round"] [":"] ["red"] [";"]

提前致谢!

编辑

关于重复的问题,我正在研究其他帖子的答案,它可能对我的具体情况有帮助,尽管如此,讨论的问题可能是在解析 CSS 之外的不同其他上下文中。请考虑一下,谢谢您的引用。

最佳答案

也许是这样的

var originalText = `.box {
  background: red;
  color: white;
}`;

var parsed = originalText
              .split(/( |:|;|\n)/g) // split and maintain by using capturing group
              .filter(p=>p.trim()); // keep only non whitespace elements

console.log(parsed);

关于javascript - 用空格或字符分隔文本并包含该字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613363/

相关文章:

javascript - 国际象棋风格图案

javascript - 是否可以在 slider 按钮上设置 jQuery UI slider 的值?

javascript - 暂停与 firstChild 的视频?

javascript - 请求成功时使用 JavaScript 选择一个选项

string - Prolog 字函数

C++ 字符串追加问题

java - StringBuilder 如何比普通 "+"更高效?

javascript - 什么是 ...!! ES6 中的语法?

javascript - IntelliSense 不适用于我自己的 React 组件库

javascript - 在标准的 JavaScript ES6 环境中,.toString() 什么时候被调用过?