답변:
최소한 세 가지 방법 :
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
... [^/]*
문자열 ( $
) 의 끝에 "슬래시가 포함되지 않은 일련의 문자를 잡아라"( ) 라고 표시 됩니다. 그런 다음 인덱싱하여 반환 된 일치 개체에서 일치하는 문자를 가져옵니다 ( [0]
); 일치 개체에서 첫 번째 항목은 일치하는 전체 문자열입니다. 캡처 그룹이 필요하지 않습니다.
lastIndexOf
및 사용 substring
:var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
소리처럼 들리는 일을합니다. 문자열 에서 마지막으로 나타나는 문자 (well, string) 의 인덱스를 찾아 찾지 못하면 -1을 반환합니다. 10 번 중 9 번은 반환 값 ( if (n !== -1)
) 을 확인하고 싶을 것입니다 .하지만 위의 경우 1을 추가하고 하위 문자열을 호출하기 때문에 str.substring(0)
문자열을 반환하는 작업 을 끝낼 것 입니다.
Array#split
Sudhir와 Tom Walters는 여기 와 여기 에서이 내용을 다룹니다 .
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
주어진 구분 기호를 사용하여 문자열을 분할하여 배열을 반환합니다.
lastIndexOf
/ substring
솔루션입니다 아마 (하나는 항상 엔진이 서로 너무 급격하게 변화하기 때문에, 자바 스크립트 및 성능에 대해 아무 말도 조심해야하지만) 가장 효율적인,하지만 당신은 루프에서 시간의 수천을 수행하지 않는 한, 그것은 아무튼 중요하지 않으며 코드의 명확성을 위해 노력할 것입니다.
jQuery는 필요하지 않으며이를 수행하는 방법은 여러 가지가 있습니다. 예를 들면 다음과 같습니다.
var parts = myString.split('/');
var answer = parts[parts.length - 1];
myString에 문자열이 포함됩니다.
시험;
var str = "foo / bar / test.html"; var tmp = str.split ( "/"); alert (tmp.pop ());
String path ="AnyDirectory/subFolder/last.htm";
int pos = path.lastIndexOf("/") + 1;
path.substring(pos, path.length()-pos) ;
이제 경로 문자열에 last.htm 이 있습니다 .
가벼운 무게
string.substring(start,end)
어디
start = Required
. 추출을 시작할 위치입니다. 첫 번째 문자는 인덱스 0`에 있습니다.
end = Optional
. 추출을 종료 할 위치 (포함하지 않음)입니다. 생략하면 나머지 문자열을 추출합니다.
var string = "var1/var2/var3";
start = string.lastIndexOf('/'); //console.log(start); o/p:- 9
end = string.length; //console.log(end); o/p:- 14
var string_before_last_slash = string.substring(0, start);
console.log(string_before_last_slash);//o/p:- var1/var2
var string_after_last_slash = string.substring(start+1, end);
console.log(string_after_last_slash);//o/p:- var3
또는
var string_after_last_slash = string.substring(start+1);
console.log(string_after_last_slash);//o/p:- var3
질문에서 요구하는대로 ::
var string1= "foo/bar/test.html";
if(string1.contains("/"))
{
var string_parts = string1.split("/");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
URL에 대한 질문 ( '='이 한 번 발생하도록 요청 됨) :
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
var string1= "Hello how are =you";
if(string1.contains("="))
{
var string_parts = string1.split("=");
var result = string_parts[string_parts.length - 1];
console.log(result);
}
이 시도:
const url = "files/images/gallery/image.jpg";
console.log(url.split("/").pop());