문자열의 마지막 문자를 가져오려면 어떻게 해야 합니까?
있습니다
var id="ctl03_Tabs1";
JavaScript를 사용하면 마지막 5자 또는 마지막 문자를 어떻게 얻을 수 있습니까?
편집: 다른 사용자가 지적한 바와 같이 대신 을 사용합니다.단,.split().pop()
다른 접근법에 대해서는 이 답변 하단에 있는 솔루션을 제시합니다.
원답:
메서드 Javascript를 .substr()
combined 와 .length
★★★★★★★★★★★★★★★★★★.
var id = "ctl03_Tabs1";
var lastFive = id.substr(id.length - 5); // => "Tabs1"
var lastChar = id.substr(id.length - 1); // => "1"
그러면 id.length - 5로 시작하는 문자가 취득되고 .substr()의 두 번째 인수가 생략되었기 때문에 문자열의 마지막까지 계속됩니다.
이 경우에도 하실 수 있습니다..slice()
다른 사람들이 아래에 지적한 바와 같이 방법.
단순히 밑줄 뒤의 문자를 찾으려면 다음을 사용할 수 있습니다.
var tabId = id.split("_").pop(); // => "Tabs1"
그러면 문자열이 언더스코어 배열로 분할되고 배열에서 마지막 요소(필요한 문자열)가 "팝"됩니다.
되지 않는 사용 안.substr()
!
하다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다, 쓰다..slice()
브라우저 간 호환성이 있기 때문에 메서드를 사용합니다(IE 관련 문제 참조).또는 를 사용합니다..substring()
★★★★★★ 。
다음은 String.protype에 기재되어 있는 요건의 약간의 차이입니다.서브스트링()
const id = "ctl03_Tabs1";
console.log(id.slice(-5)); //Outputs: Tabs1
console.log(id.slice(-1)); //Outputs: 1
// below is slower
console.log(id.substring(id.length - 5)); //Outputs: Tabs1
console.log(id.substring(id.length - 1)); //Outputs: 1
시작 위치가 음수인 subst() 메서드를 사용하여 마지막 n개의 문자를 가져올 수 있습니다.예를 들어 마지막 5가 표시됩니다.
var lastFiveChars = id.substr(-5);
문자열을 배열로 취급할 수 있기 때문에 마지막 문자를 쉽게 얻을 수 있습니다.
var lastChar = id[id.length - 1];
문자열의 섹션을 가져오려면 기판 함수 또는 하위 문자열 함수를 사용할 수 있습니다.
id.substr(id.length - 1); //get the last character
id.substr(2); //get the characters from the 3rd character on
id.substr(2, 1); //get the 3rd character
id.substr(2, 2); //get the 3rd and 4th characters
「 」의 substr
★★★★★★★★★★★★★★★★★」substring
두 번째(옵션) 파라미터의 처리방법입니다. »substr
인덱스의 문자 수(첫 번째 매개 변수)입니다. »substring
캐릭터 슬라이싱이 어디에서 끝나야 하는지를 나타내는 지표입니다.
다음 스크립트는 JavaScript를 사용하여 문자열 내의 마지막 5자 및 마지막 1자의 결과를 보여 줍니다.
var testword='ctl03_Tabs1';
var last5=testword.substr(-5); //Get 5 characters
var last1=testword.substr(-1); //Get 1 character
출력:
Tabs1 // 5글자 취득
1 // 1 문자 획득
const r = '6176958e92d42422203a3c58';
r.slice(-4)
결과 '3c58'
r.slice(-1)
결과 '8'
가지 으로는 한한 one one one를 사용하는 이 있습니다.slice
음음음같 뭇매하다
var id="ctl03_Tabs1";
var temp=id.slice(-5);
그 가치는temp
"Tabs1"
.
서브스트링 기능을 확인합니다.
마지막 문자를 가져오려면:
id.substring(id.length - 1, id.length);
기판 함수를 사용하면 -를 사용하여 마지막 문자를 얻을 수 있습니다.
var string = "hello";
var last = string.substr(-1);
굉장히 유연해요.예를 들어 다음과 같습니다.
// Get 2 characters, 1 character from end
// The first part says how many characters
// to go back and the second says how many
// to go forward. If you don't say how many
// to go forward it will include everything
var string = "hello!";
var lasttwo = string.substr(-3,2);
// = "lo"
.substr
자열의단단단자자방방!!!!!!!!
Jamon Holmgren의 예를 들어 기판 방법을 변경하고 배열 위치를 지정할 수 있습니다.
var id = "ctl03_Tabs1";
var lastChar = id[id.length - 1]; // => "1"
성능
오늘 2020.12.31 Chrome v87, Safari v13.1.2 및 Firefox v84에서 MacOs HighSierra 10.13.6에서 마지막 N자 케이스를 얻기 위한 선택된 솔루션을 테스트했습니다(마지막 문자 케이스는 별도의 답변으로 제시합니다).
결과.
모든 브라우저용
- 솔루션 D의 베이스
slice
고속 또는 고속 - 솔루션 G가 가장 느리다
세부 사항
2가지 테스트 케이스를 수행합니다.
이하의 스니펫은, 솔루션 AB C D E F G(my)를 나타내고 있습니다.
//https://stackoverflow.com/questions/5873810/how-can-i-get-last-characters-of-a-string
// https://stackoverflow.com/a/30916653/860099
function A(s,n) {
return s.substr(-n)
}
// https://stackoverflow.com/a/5873890/860099
function B(s,n) {
return s.substr(s.length - n)
}
// https://stackoverflow.com/a/17489443/860099
function C(s,n) {
return s.substring(s.length - n, s.length);
}
// https://stackoverflow.com/a/50395190/860099
function D(s,n) {
return s.slice(-n);
}
// https://stackoverflow.com/a/50374396/860099
function E(s,n) {
let i = s.length-n;
let r = '';
while(i<s.length) r += s.charAt(i++);
return r
}
// https://stackoverflow.com/a/17489443/860099
function F(s,n) {
let i = s.length-n;
let r = '';
while(i<s.length) r += s[i++];
return r
}
// my
function G(s,n) {
return s.match(new RegExp(".{"+n+"}$"));
}
// --------------------
// TEST
// --------------------
[A,B,C,D,E,F,G].map(f=> {
console.log(
f.name + ' ' + f('ctl03_Tabs1',5)
)})
This shippet only presents functions used in performance tests - it not perform tests itself!
다음은 Chrome의 예시 결과입니다.
마지막 문자 또는 know 위치에 있는 문자만 원하는 경우 문자열을 배열로 추적할 수 있습니다. - 문자열은 javascript에서 반복 가능합니다.
Var x = "hello_world";
x[0]; //h
x[x.length-1]; //d
그러나 두 개 이상의 문자가 필요한 경우 스플라이스를 사용하는 것이 효과적입니다.
x.slice(-5); //world
당신의 예에 대해서
"rating_element-<?php echo $id?>"
ID를 추출하려면 분할 + 팝을 쉽게 사용할 수 있습니다.
Id= inputId.split('rating_element-')[1];
그러면 ID가 반환됩니다.또는 'rating_element' 뒤에 ID가 없는 경우 정의되지 않습니다. : )
성능
현재 2020.12.31 Chrome v87, Safari v13.1.2 및 Firefox v84에서 MacOs HighSierra 10.13.6에서 마지막 문자 케이스를 얻기 위한 선택된 솔루션(마지막 N자 케이스 결과, 다른 답변으로 제시)을 테스트합니다.
결과.
모든 브라우저용
- 솔루션 D, E, F는 매우 빠르거나 빠릅니다.
- 솔루션 G, H가 가장 느리다
세부 사항
2가지 테스트 케이스를 수행합니다.
아래 스니펫은 솔루션 A B C D E F G(my), H(my)를 나타냅니다.
//https://stackoverflow.com/questions/5873810/how-can-i-get-last-characters-of-a-string
// https://stackoverflow.com/a/30916653/860099
function A(s) {
return s.substr(-1)
}
// https://stackoverflow.com/a/5873890/860099
function B(s) {
return s.substr(s.length - 1)
}
// https://stackoverflow.com/a/17489443/860099
function C(s) {
return s.substring(s.length - 1, s.length);
}
// https://stackoverflow.com/a/50395190/860099
function D(s) {
return s.slice(-1);
}
// https://stackoverflow.com/a/50374396/860099
function E(s) {
return s.charAt(s.length-1);
}
// https://stackoverflow.com/a/17489443/860099
function F(s) {
return s[s.length-1];
}
// my
function G(s) {
return s.match(/.$/);
}
// my
function H(s) {
return [...s].pop();
}
// --------------------
// TEST
// --------------------
[A,B,C,D,E,F,G,H].map(f=> {
console.log(
f.name + ' ' + f('ctl03_Tabs1')
)})
This shippet only presents functions used in performance tests - it not perform tests itself!
다음은 Chrome의 예시 결과입니다.
const id = 'ctl03_Tabs1';
id.at(-1); // Returns '1'
at
는 마지막 문자열 문자부터 카운트백하기 위해 음의 정수를 지원합니다.
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1);
나는 이 질문을 발견했고 몇 가지 조사를 통해 이것이 마지막 캐릭터를 얻는 가장 쉬운 방법이라는 것을 발견했다.
마지막 5개를 얻기 위해 완성도를 높이기 위해 다른 사용자가 언급하고 추가했듯이:
var last5 = id.substr(-5);
이용하실 수 있습니다.string.length
기능을 사용하여 마지막 문자를 가져옵니다.다음의 예를 참조해 주세요.
let str = "hello";
console.log(str[str.length-1]);
// Output : 'o' i.e. Last character.
마찬가지로, 다음을 사용할 수 있습니다.for
위의 코드를 사용하여 문자열을 반전시킵니다.
서브스트링을 다른 문자열의 끝과 비교하여 결과를 부울로 사용하는 경우 String 클래스를 확장하여 이를 수행할 수 있습니다.
String.prototype.endsWith = function (substring) {
if(substring.length > this.length) return false;
return this.substr(this.length - substring.length) === substring;
};
다음을 수행할 수 있습니다.
var aSentenceToPonder = "This sentence ends with toad";
var frogString = "frog";
var toadString = "toad";
aSentenceToPonder.endsWith(frogString) // false
aSentenceToPonder.endsWith(toadString) // true
, 「」를 합니다.split('').pop()
★★★★★★ 。
const myText = "The last character is J";
const lastCharater = myText.split('').pop();
console.log(lastCharater); // J
'이렇게 하다'가 때 효과가 있어요 왜냐하면split('')
함수에는 파라미터로 공백("")이 있으며 문자열의 각 문자가 배열 요소로 변경됩니다. ''를 할 수 요.pop()
해당 배열의 마지막 요소인 'J' 문자를 반환하는 함수입니다.
저는 실제로 다음과 같은 문제를 가지고 있으며, 위의 답변으로 해결했지만 입력 요소에서 id를 추출하는 방법이 다릅니다.
다음 주소로 입력 파일을 첨부했습니다.
id="rating_element-<?php echo $id?>"
그리고 이 버튼을 클릭했을 때 id(숫자) 또는 php ID($id)만 추출하고 싶습니다.
그래서 내가 뭘 하는지.
$('.rating').on('rating.change', function() {
alert($(this).val());
// console.log(this.id);
var static_id_text=("rating_element-").length;
var product_id = this.id.slice(static_id_text); //get the length in order to deduct from the whole string
console.log(product_id );//outputs the last id appended
});
문자열의 마지막 문자일 경우 쉼표가 제거됩니다.
var str = $("#ControlId").val();
if(str.substring(str.length-1)==',') {
var stringWithoutLastComma = str.substring(0,str.length-1);
}
라스트 5
var id="ctl03_Tabs1";
var res = id.charAt(id.length-5)
alert(res);
지난
var id="ctl03_Tabs1";
var res = id.charAt(id.length-1)
alert(res);
슬라이스를 사용할 수 있습니다.
id.gl5),
이게 잘 될 거라고 확신해요.
var string1="myfile.pdf"
var esxtenion=string1.substr(string1.length-4)
「」의 값extension
되다".pdf"
여기에서는 항상 마지막 문자를 보여주는 두 가지 예를 보여 줍니다.
var id="ctl03_Tabs1";
console.log(id.charAt(id.length - 1));
console.log(id[id.length - 1]);
언급URL : https://stackoverflow.com/questions/5873810/how-can-i-get-last-characters-of-a-string
'programing' 카테고리의 다른 글
cURL 에코아웃 안 함 (0) | 2023.01.03 |
---|---|
JavaScript에서 인터넷 속도를 감지하는 방법 (0) | 2023.01.03 |
강조 표시된 날짜 게시물이 먼저 정렬된 데이터베이스에서 뉴스 게시물 선택 (0) | 2022.12.29 |
sudo 없이 mysql 서버에 연결 (0) | 2022.12.29 |
Python MySql 삽입이 작동하지 않음 (0) | 2022.12.29 |