2011-10-25 4 views
46

문자열을 자바 스크립트의 어퍼 문자로 배열로 분할하는 방법은 무엇입니까?Javascript 대문자 스플릿 문자열

'ThisIsTheStringToSplit'.match(/[A-Z][a-z]+/g); 
:

'ThisIsTheStringToSplit' 

('This', 'Is', 'The', 'String', 'To', 'Split') 
+0

그러면 해결책을 모색하는 사람들에게 유용 할 수 있습니다. 이 문제는 다음과 같습니다. http://stackoverflow.com/a/25732260/1454888 –

답변

84

내가 이런 .match() 함께 할 것입니다 :)입니다

로 :

그래서 나는 분리 할그것은 것

이런 배열 :

['This', 'Is', 'The', 'String', 'To', 'Split'] 

편집 : string.split() 방법은 또한 정규식을 지원 이후도의 문제를 해결하는 것,이

'ThisIsTheStringToSplit'.split(/(?=[A-Z])/); // positive lookahead to keep the capital letters 

같이 달성 될 수있다 의견 :

"thisIsATrickyOne".split(/(?=[A-Z])/); 
+35

대문자 하나만 찾습니다. 나는 다음을 제안한다 : ' "thisIsATrickyOne".match (/ ([A-Z]? [^ A-Z] *)/g) .slice (0, -1)' – andrewmu

4
여기

당신이

var arr = UpperCaseArray("ThisIsTheStringToSplit"); 

function UpperCaseArray(input) { 
    var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, ""); 
    return result.split(","); 
} 
+2

원래 문자열에 있던', '로 분할됩니다. – Matt

4
.match(/[A-Z][a-z]+|[0-9]+/g).join(" ") 

숫자도 처리해야합니다. 결국 모든 조인 항목을 문장에 연결하면 결과가 일치합니다.