javascript - 在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)分割,但忽略括号内的出现。
那里有类似的问题,但没有用一个词来解释。
解决方案
首先,我们必须在字符串中获得第二次出现的 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);
推荐阅读
- flutter - 如何在颤动的下一页中打开视频?
- python - 使用 pandas to_datetime 识别错误的日期
- django - /videos/create_video/ 的 TypeError 应为 str、bytes 或 os.PathLike 对象,而不是 int
- javascript - ReactJS-无法从材料表中的Action单击处理程序上的rowData获取属性
- angular - 派生和子类化指令以便 ContentChildren 可以找到它?
- c++ - 如何使用 cmake 正确链接库?
- javascript - 如果其他 div 中的 div 具有类,则将类添加到顶级 div
- c# - C#如何表示和遍历N-Ary树
- node.js - NPM 在创建反应应用程序时卡在终端中?
- python - SQLAlchemy 连接表继承,鉴别器是主键的一部分