Javascript-字符串拆分

Javascript-字符串拆分,javascript,string,split,Javascript,String,Split,我有以下字符串 str = "11122+3434" 我想把它分成[“11122”、“+”、“3434”]。可以有以下分隔符+,-,/* 我试过以下方法 strArr = str.split(/[+,-,*,/]/g) 但我明白了 strArr = [11122, 3434] 分隔符是分隔数据的东西。因此.split()方法被设计为删除分隔符,因为分隔符不是数据,所以它们根本不重要 在您的例子中,两个值之间的东西也是数据。所以它不是一个定界符,而是一个运算符(事实上,这就是它在数学中的名称

我有以下字符串

str = "11122+3434"
我想把它分成[“11122”、“+”、“3434”]。可以有以下分隔符+,-,/*

我试过以下方法

strArr = str.split(/[+,-,*,/]/g)
但我明白了

strArr = [11122, 3434]

分隔符是分隔数据的东西。因此
.split()
方法被设计为删除分隔符,因为分隔符不是数据,所以它们根本不重要

在您的例子中,两个值之间的东西也是数据。所以它不是一个定界符,而是一个运算符(事实上,这就是它在数学中的名称)

为此,您希望解析数据,而不是拆分数据。因此,最好是regexp:

var result = str.match(/(\d+)([+,-,*,/])(\d+)/);
返回一个数组:

["11122+3434", "11122", "+", "3434"]

因此,您的值将是
result[1]
result[2]
result[3]
Hmm,一种方法是首先添加一个空格作为分隔符

// yes,it will be better to use regex for this too
str = str.replace("+", " + ");
然后把他们分开

strArr = str.split(" ");
它将返回您的数组

["11122", "+", "3434"]

括号中的+-*需要转义,所以

strArr = str.split(/[\+\-\*/]/g)
这应该有助于

str='11122+3434+12323*56767'
strArr=str.replace(//[+,-,*,//]/g,'$&')。split(//g)
控制台日志(strArr)
var str=“11122+77-3434”;
函数getExpression(str){
var-temp=str.split(“”);
var部分=“”;
var结果=[]
对于(变量i=0;iconsole.log(getExpression(str))
可以有不同的分隔符,也可以一次有一个分隔符您想只拆分数学表达式或其他任何东西吗?一次只拆分一个分隔符。我只想拆分数学表达式保持简单,
str.split(/([-+*/])/)
这不会给你符号。