[javascript] 자바 스크립트에서 대시 문자열 뒤에있는 모든 것을 가져옵니다.

IE와 firefox 모두에서 작동하는 가장 깨끗한 방법은 무엇입니까?

내 문자열은 다음과 같습니다. sometext-20202

이제 ‘sometext’와 대시 뒤의 정수는 길이가 다를 수 있습니다.

하위 문자열과 색인을 사용해야합니까 아니면 다른 방법입니까?



답변

내가 이것을하는 방법 :

// function you can use:
function getSecondPart(str) {
    return str.split('-')[1];
}
// use the function:
alert(getSecondPart("sometext-20202"));


답변

내가 선호하는 솔루션은 다음과 같습니다.

const str = 'sometext-20202';
const slug = str.split('-').pop();

slug당신의 결과는 어디에 있습니까


답변

var the_string = "sometext-20202";
var parts = the_string.split('-', 2);

// After calling split(), 'parts' is an array with two elements:
// parts[0] is 'sometext'
// parts[1] is '20202'

var the_text = parts[0];
var the_num  = parts[1];


답변

var testStr = "sometext-20202"
var splitStr = testStr.substring(testStr.indexOf('-') + 1);


답변

AFAIK는 모두 substring()indexOf()모질라와 IE에서 모두 지원된다. 그러나 일부 브라우저의 이전 버전 (예 : Netscape / Opera)에서는 substr ()이 지원되지 않을 수 있습니다.

귀하의 게시물에 substring()및 사용 방법을 이미 알고 있음을 나타내 indexOf()므로 코드 샘플을 게시하지 않습니다.


답변

js의 내장 RegExp (pattern [, flags]) 팩토리 표기법으로 다음과 같이 할 수 있습니다.

RegExp(/-(.*)/).exec("sometext-20202")[1]

위의 코드에서 exec 함수는 두 개의 요소 ([ “-20202”, “20202”])와 하이픈 (-20202), 하이픈 (20202)없는 배열을 반환합니다. 두 번째 요소 (인덱스 1)를 선택해야합니다.


답변

myString.split('-').splice(1).join('-')