javascript - 如何从字符串中分离字符串字符和数学字符
问题描述
我想将字母字符串或数字字符串和数学字符与字符串分开。例如 -
var test = "test1+test2*3+(test3*6)";
I want to separate it like this -
var result = ["test1", "+", "test2", "*", "3", "+", "(", "test3", "*", "6",")"];
谁能帮我得到结果,在此先感谢。
解决方案
您可以使用正则表达式来匹配数学字符或数学字符以外的任何字符:
var test = "test1+test2*3+(test3*6)";
var result = test.match(/[+*()]|[^+*()]+/g);
console.log(result);
// ->
// ["test1","+","test2","*","3","+","(","test3","*","6",")"]
[+*()]
- 匹配单个+
,*
,(
, or)
(随意添加您想在此处隔离的任何字符)|
- 或者[^+*()]+
- 匹配除这些字符之外的任何内容,一次或多次
推荐阅读
- css - 导航不应该是全宽,而是内容的宽度
- verilog - 我的输出总是驱动 10110 模式检测器的 Z 值
- react-native - React-Native 0.63.4 未收到对请求的响应
- python - 通过stdout写入带有子进程的pygame时,Python损坏了管道
- powershell - Powershell 函数中的多个参数。减少重复代码片段
- html - 将幻灯片中的 GAS 图像注入侧边栏
- error-handling - 为什么除了我要抛出的错误之外,julia还会抛出一个LoadError
- java - 如何使用 Thymeleaf 更改输入值?
- firebase - 用户属性可以是 Google Analytics 中的数组吗?
- servicestack.redis - ServiceStack.Redis RedisTypedClient TTL