A : 구현 코드 :
VAR camelizeRE = / - (\ w) / g;
function camelize(str){
return str.replace(camelizeRE,function(_,c){
return c ? c.toUpperCase():'';
})
}
camelize ( 'KKK-ZZZ-HHH'); kkkZzzHzz;
II : 원리 :
1.replace 방법 :
stringObject.replace ( 정규식 / SUBSTR , 여분 )
매개 변수 | 기술 |
---|---|
정규 표현식 / SUBSTR | 필요합니다. 정규식 목적은 교체 또는 소정의 문자열 패턴. 값이 문자열 인 경우 주, 그것은 제 존재 정규식 객체로 변환하지 않고 직접 양, 텍스트 모드를 검색 할 같다. |
바꿔 놓음 | 필요합니다. 문자열 값입니다. 대안 적으로, 소정의 기능을 대체 텍스트 또는 텍스트를 생성한다. |
바꾸기 첫번째 파라미터 정규 표현식은 두번째 파라미터 함수일 수있다 여러 매개 변수를 사용할 수있다. 첫 번째 파라미터는 캡처 콘텐츠이고, 두 번째 파라미터 세트가 일치 캡처 (그룹의 수에 일치하는, 파라미터들의 대응하는 수있다). 또한, 마지막 두 번째 파라미터는 파라미터 (다섯 번째 위치에서 시작 예), 마지막 파라미터는 원래의 문자열은 문자열에 걸쳐 촬영 된 콘텐츠 위치의 역수이며, 첨가 될 수있다. 다음은 웹 페이지 템플릿 교체의 예입니다.
예 :
1.var STR = "kkk_yyy_hhh";
어떤 문자열은 일치의 일반 설정과 일치하지 않습니다
str.replace ( '_'기능 (_, A, B, C) {
CONSOLE.LOG (_, A, B, C) // 3 _ kkk_yyy_hhh는 미정
})
2.var STR = "kkk_yyy_hhh";
일반 그룹 일치 일치하지 않는 일반
str.replace (/ _ / g, 함수 (_, A, B, C) {
CONSOLE.LOG (_, A, B, C) // 3 _ _ kkk_yyy_hhh이 정의는 정의 kkk_yyy_hhh 7
})
3.var STR = "kkk_yyy_hhh";
정규 경기는 일반 그룹 일치를
str.replace (/ _ (\ w) / g, 함수 (_, A, B, C) {
CONSOLE.LOG (_, A, B, C) // _y Y kkk_yyy_hhh _h 3 H 7 kkk_yyy_hhh
})
그들은 두 값이 y로 _y 얻을 것이다과 "고비라는 이름의 문자열"로 "하이픈 문자열을"달성 할 수있을 것이기 때문에, 세 번째 경우를보기