首页 > 解决方案 > 在javascript中按单词拆分时如何忽略括号内的部分

问题描述

我有一个字符串如下。

var str = "SELECT COL1 , COL2 , (SELECT COL1 FROM TBL2 AS COL4) ,COL5 FROM TBL1 WHERE 1 = 1 ";

我想用“FROM”这个词来分割它,也想忽略括号内的出现。

预期输出:

var arr = ['SELECT COL1 , COL2 , (SELECT COL1 FROM TBL2 AS COL4) ,COL5 ' , 'TBL1 WHERE 1 = 1'];

这个字符串只是一个例子。字符串是动态的,我想做的是用一个单词(例如:FROM)分割,但忽略括号内的出现。

那里有类似的问题,但没有用一个词来解释。

标签: javascriptstringsplit

解决方案


首先,我们必须在字符串中获得第二次出现的 FROM,然后我们需要将它从第二次出现中拆分出来。

试试这个代码:

var str = "SELECT COL1 , COL2 , (SELECT COL1 FROM TBL2 AS COL4) ,COL5 FROM TBL1 WHERE 1 = 1 ";
var index=str.split("FROM", 2).join("FROM").length; //getting 2nd occurrence of FROM
var str1=str.slice(0, index);
var str2=str.slice(index);
var arr = [str1,str2];
console.log(arr);

推荐阅读