문자열 혹에 "하이픈 문자열"

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 얻을 것이다과 "고비라는 이름의 문자열"로 "하이픈 문자열을"달성 할 수있을 것이기 때문에, 세 번째 경우를보기

 

게시 31 개 원래 기사 · 원 찬양 13 ·은 10000 +를 볼

추천

출처blog.csdn.net/qq_38694034/article/details/102932092