使用命令[.split]时Javascript包含定界符

时间:2019-01-25 19:06:57

标签: javascript node.js regex string split

问题:

是否可以使用javascript [.split]保留选定的定界符,而无需使用正则表达式?在下面的示例中,我使用node.js发送命令。

// A css text string.
var text_string = "div-1{color:red;}div-2{color:blue;}";

// Split by [}], removes the delimiter:
var partsOfStr = text_string.split('}');

// Printouts
console.log("Original: " + text_string); // Original.
console.log(partsOfStr);                 // Split into array.
console.log(partsOfStr[0]);              // First split.
console.log(partsOfStr[1]);              // Second split.

输出:

Original: div-1{color:red;}div-2{color:blue;}
[ 'div-1{color:red;', 'div-2{color:blue;', '' ]
div-1{color:red;
div-2{color:blue;

期望的行为:

我需要输出包含定界符[}]。结果行应看起来像这样:

div-1{color:red};
div-2{color:blue};

我确实找到了以下问题,但是它没有使用javascript split,而是使用了正则表达式:

Javascript split include delimiters

1 个答案:

答案 0 :(得分:0)

这是使用replace的一种方法-尽管从技术上讲涉及正则表达式。由于它仅在斜杠之间而不是引号之间匹配实际的字符串,因此它几乎是一种古怪的方式。

var text_string = "div-1{color:red;}div-2{color:blue;}";

var partsOfString = text_string.replace(/;}/g, "};\n")
 
console.log(partsOfString);