[javascript] 문자열의 첫 문자와 마지막 문자를 제거하는 방법

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);

slicesubstring에 대한 설명서입니다 .


답변

다음과 같이 slice를 사용하는 것이 더 좋습니다.

string.slice(1, -1)


답변

jQuery와 관련이 없다고 생각합니다. 어쨌든 다음을 시도하십시오.

url = url.replace(/^\/|\/$/g, '');


답변

당신은 그것을 정규식으로 만들 수 있습니다 :

"string".replace(/^\/?|\/?$/, "")
"/installers/services/".replace(/^\/?|\/?$/, "") // -> installers/services

정규식은 다음과 같이 설명했다
.-선택적인 첫 번째 슬래시 : ^/?, 이스케이프 된-> ^\/?( ^문자열의 시작을 의미)
-파이프 (|)는 or
끝에서 옵션 슬래시보다- /?$이스케이프 처리 된-> \/?$( $문자열의 끝을 의미 함) )

^/?|/$이스케이프되지 않고 결합 . 선택적 첫 번째 슬래시 또는 선택적 마지막 슬래시


답변

substring방법 을 사용할 수 있습니다

s = s.substring(0, s.length - 1) //removes last character

다른 대안은 slice방법입니다


답변

당신은 그런 것을 할 수 있습니다 :

"/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