2017-12-22 17 views
2

쉼표 ','를 기반으로이 문자열을 분할하는 방법을 찾아야합니다.RegExp로 나누기

["saleHours.sunTo(saleHours.satTo, saleHours.satFrom)", saleHours.funTest(saleHours.sunFrom)"]

하지 않음이 :

["saleHours.sunTo(saleHours.satTo", " saleHours.satFrom)", " saleHours.funTest(saleHours.sunFrom)"]

"saleHours.sunTo(saleHours.satTo, saleHours.satFrom), saleHours.funTest(saleHours.sunFrom)" 

그러나이 원하는 결과이다.

그래서 나는 어떻게 든 '()'안에서 쉼표를 벗어나야합니다.

도움을 주시면 감사하겠습니다.

+0

그냥 궁금 : 당신이 일을 어떻게 계획 할을 그 결과는? 그 코드는 코드와 비슷합니다. – Cerbrus

+0

예, 템플릿 엔진에서 작업 중이며 사용자가 함수를 호출하려고 시도하고 있음을 어떻게 든 등록해야합니다. 실제로이 문제를 해결하는 데는 꽤 가깝지만, 슬프게도 중첩 된 함수는 내가 지금 고민하고있는 것입니다. –

+0

솔직히 말하면 다소 의심 스럽습니다 ... 사용자가 무엇을 입력했는지 확인하는 데 신중을 기하십시오. – Cerbrus

답변

3
var input = "saleHours.sunTo(saleHours.satTo, saleHours.satFrom), saleHours.funTest(saleHours.sunFrom)"; 

    var m = input.split(/\),/); 
    var l = m.length; 
    for(i in m) 
    { 
     if(i<l-1) 
      m[i] = m[i]+")"; 
    } 

    console.log(m); 

출력 :

[ 'saleHours.sunTo(saleHours.satTo, saleHours.satFrom)', 
    ' saleHours.funTest(saleHours.sunFrom)' ] 
+1

제대로 작동하는 것 같습니다. 그러나 결과를 '정리'할 것을 제안합니다. – Cerbrus

+1

이것은 내가 고마워할만한 것이다. –

-1

확실하지 당신은 다른 요구 사항이 있지만,이 코드는 마지막 쉼표의 문자열을 분할하는 경우 :

str.split(/[\s,]+/) 
+0

그가 더 많은 요소를 가지고 있다면 이것은 작동하지 않습니다. – Cerbrus

+0

그는 자신이 가지고 있다고 말하지 않았습니다. –

+0

리차드 모레이 (Richard Morais), 고맙습니다. 그렇지만 나는 분명히해야했습니다. 아이디어는 존재하는 요소의 수와 관계없이 외부 쉼표를 기반으로 문자열을 분할 할 수 있어야한다는 것이 었습니다. –