2016-07-18 2 views
0

소문자가 아닌 문자를 삽입하는 방법을 알아 내려고합니다. 문자가 나오는 곳마다 문자를 대문자로 시작해야합니다. 예를 들어, 문자열이 "HiMyNameIsBob" 인 경우 공백을 삽입하면 "Hi My Name Is Bob"을 반환하고 싶습니다. replace()가하는 것과 비슷한 것을하고 싶습니다. 자바 스크립트를 사용하고 있습니다.문자열에있는 두 문자 사이에 문자를 삽입하려면 어떻게해야합니까?

답변에 정규식을 사용하는 경우 정규 표현식에 대한 설명이 유용 할 것입니다.

+1

http://stackoverflow.com/questions/4149276/javascript-camelcase-to-regular-form – yuriy636

답변

2
var string = 'HiMyNameIsBob'; 
string = string.replace(/([a-z])([A-Z])/g, '$1 $2') 

은 소문자와 대문자가 각각 나타날 때마다 공백을 삽입합니다. [답이 이미 존재 (고려

[a-z] any lower char from a to z 
[A-Z] any upper char from a to z 
    /g means global 
    '$1 $2' are wildcards 
+1

http://stackoverflow.com/a/4149612/5743988),이 질문은 사본으로 마감해야합니다. – 4castle

0
var insertSpace = function(string) { 
    var chars = string.split(''); 
    var insert = ' '; 

    for (var i = 0; i < string.length; i++) { 
    var char = chars[i]; 
    var nextChar = chars[i + 1] || null; 
    if (char === char.toLowerCase() && nextChar === nextChar.toUpperCase()) { 
     chars.splice(i + 1, 0, insert); 
     i++; 
    } 
    } 

    return chars.join(''); 
} 
관련 문제