UpperCase 문자의 Javascript 분할 문자열


답변:


223

나는 이것을 다음과 .match()같이 할 것입니다 .

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

다음과 같은 배열을 만듭니다.

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

편집 :string.split() 방법이 정규식을 지원하기 때문에 다음 과 같이 얻을 수 있습니다.

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

댓글에서 문제를 해결할 수도 있습니다.

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

47
단일 대문자는 찾지 못합니다. 나는 다음을 제안합니다 : "thisIsATrickyOne".match(/([A-Z]?[^A-Z]*)/g).slice(0,-1)
andrewmu

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

이것은 숫자도 처리해야합니다. 마지막에 조인하면 모든 배열 항목이 원하는 경우 문장에 연결됩니다.

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

산출

"This Is The String To Split"

이것은 완벽 해요. 그러나 이것을 사용하는 사람은 다음 경우에주의해야합니다 : 'ThisIs8TheSt3ringToSplit'.match(/[A-Z][a-z]+|[0-9]+/g).join(" ")will output This Is 8 The St 3 To Split, ring뒤에 작은 케이스 string ( )을 생략합니다 3.
Diablo

9

여기 있어요 :)

var arr = UpperCaseArray("ThisIsTheStringToSplit");

function UpperCaseArray(input) {
    var result = input.replace(/([A-Z]+)/g, ",$1").replace(/^,/, "");
    return result.split(",");
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.