2017-12-06 9 views
-5

안녕하세요, 간단한 자바 스크립트 문제가 있습니다. 문자열에서 배열로 구문 분석. 나는 그 방법을 정말로 혼동한다.기본 자바 스크립트 (ParseExpression)

let string = "1 + 10-3";

문자열 = [ "1", "+", "10", "-", "3"];

결과 : 문자열 = [ "1", "+", "1", "0", "-", "3"]; "-"

1과 별도의 0, 난

+0

그래서 뭔가를 시도 했습니까? 당신은 그게 효과가 없었던 무엇을 시도 했습니까? – epascarello

+0

어떤 문제를 해결하려고합니까? – grizzthedj

답변

1

당신은 "+"또는 사업자에 따라 값을 구분하려는 돼요. 이 작업을 수행하는
한 가지 방법은 정규식으로 분할을 사용하고 있습니다 :

let string = "1+10-3"; 

string = string.split(/([+-])/g); 

이것은 "+"또는 기반으로 문자열을 분할한다 "-"그 결과에 구분 기호를 유지. 희망이 도움이

+0

그렇지 않나요? – moon

+0

답을 형식화하십시오. – Jalpesh

+0

고마워요. thats work – Itchtheditch

0
var string = "1+10-3"; 
var copy = string; 

string = string.replace(/[0-9]+/g, "#").replace(/[\(|\|\.)]/g, ""); 
var numbers = copy.split(/[^0-9\.]+/); 
var operators = string.split("#").filter(function(n){return n}); 
var result = []; 

for(i = 0; i < numbers.length; i++){ 
    result.push(numbers[i]); 
    if (i < operators.length) result.push(operators[i]); 
} 

console.log(result);