首页 > 解决方案 > 如何从字符串中分离字符串字符和数学字符

问题描述

我想将字母字符串或数字字符串和数学字符与字符串分开。例如 -

var test = "test1+test2*3+(test3*6)";
I want to separate it like this - 

var result = ["test1", "+", "test2", "*", "3", "+", "(", "test3", "*", "6",")"];

谁能帮我得到结果,在此先感谢。

标签: javascriptjquery

解决方案


您可以使用正则表达式来匹配数学字符或数学字符以外的任何字符:

var test = "test1+test2*3+(test3*6)";
var result = test.match(/[+*()]|[^+*()]+/g);
console.log(result);
// ->
// ["test1","+","test2","*","3","+","(","test3","*","6",")"]

  • [+*()]- 匹配单个+, *, (, or )(随意添加您想在此处隔离的任何字符)
  • |- 或者
  • [^+*()]+- 匹配除这些字符之外的任何内容,一次或多次

推荐阅读