Javascript에서 문자열의 첫 번째 문자와 마지막 문자를 제거하는 방법이 궁금합니다.
내 URL이 표시 /installers/
되고 installers
있습니다.
때로는 될 것입니다 /installers/services/
그리고 난 그냥 필요합니다 installers/services
.
따라서 단순히 슬래시를 제거 할 수는 없습니다 /
.
Javascript에서 문자열의 첫 번째 문자와 마지막 문자를 제거하는 방법이 궁금합니다.
내 URL이 표시 /installers/
되고 installers
있습니다.
때로는 될 것입니다 /installers/services/
그리고 난 그냥 필요합니다 installers/services
.
따라서 단순히 슬래시를 제거 할 수는 없습니다 /
.
답변:
여기 요
var yourString = "/installers/";
var result = yourString.substring(1, yourString.length-1);
console.log(result);
또는 Ankit Gupta가.slice
제안한대로 사용할 수 있습니다.
var yourString = "/installers/services/";
var result = yourString.slice(1,-1);
console.log(result);
slice 및 substring에 대한 설명서입니다 .
당신은 그것을 정규식으로 만들 수 있습니다 :
"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services
정규식은 다음과 같이 설명했다
.-선택적인 첫 번째 슬래시 : ^/?
, 이스케이프 된-> ^\/?
( ^
문자열의 시작을 의미)
-파이프 (|)는 or
끝에서 옵션 슬래시보다- /?$
이스케이프 처리 된-> \/?$
( $
문자열의 끝을 의미 함) )
^/?|/$
이스케이프되지 않고 결합 . 선택적 첫 번째 슬래시 또는 선택적 마지막 슬래시
당신은 그런 것을 할 수 있습니다 :
"/installers/services/".replace(/^\/+/g,'').replace(/\/+$/g,'')
이 정규식은 trim
많은 언어에서 사용되는 기능 과 동일한 동작을하는 일반적인 방법 입니다.
트림 기능의 가능한 구현은 다음과 같습니다.
function trim(string, char){
if(!char) char = ' '; //space by default
char = char.replace(/([()[{*+.$^\\|?])/g, '\\$1'); //escape char parameter if needed for regex syntax.
var regex_1 = new RegExp("^" + char + "+", "g");
var regex_2 = new RegExp(char + "+$", "g");
return string.replace(regex_1, '').replace(regex_2, '');
}
어느 것이 모두 삭제됩니다 /
문자열의 시작과 끝에서 . 그것은 같은 경우를 처리///installers/services///
간단하게 할 수도 있습니다 :
"/installers/".substring(1, string.length-1);
사용하다 .replace(/.*\/(\S+)\//img,"$1")
"/installers/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services
"/services/".replace(/.*\/(\S+)\//img,"$1"); //--> services