วิธีรับอักขระตัวสุดท้ายของสตริง:
"linto.yahoo.com."
อักขระตัวสุดท้ายของสตริงนี้คือ "."
ฉันจะหาสิ่งนี้ได้อย่างไร
วิธีรับอักขระตัวสุดท้ายของสตริง:
"linto.yahoo.com."
อักขระตัวสุดท้ายของสตริงนี้คือ "."
ฉันจะหาสิ่งนี้ได้อย่างไร
คำตอบ:
ทางเลือกที่หรูหราและสั้นเป็นString.prototype.slice
วิธีการ
เพียงแค่โดย:
str.slice(-1);
ดัชนีเริ่มต้นเชิงลบแบ่งสตริงจากlength+index
ถึงlength
เป็นดัชนี-1
แยกอักขระสุดท้าย:
"abc".slice(-1); // "c";
slice()
วิธีการเช่นกัน - ฟังก์ชั่นการใช้งานของพวกเขาคล้ายกับแนวคิด (สำเนาบางส่วน) -------- (ในกรณีที่คุณกำลังอ่านโค้ดและดู.slice()
)
str.slice(-1)
ไม่แน่นอนได้รับตัวอักษรตัวสุดท้ายของสตริง (เป็น OP ที่จำเป็น) เช่นเดียวกับถ้าคุณใช้ลอง:str.charAt(str.length - 1)
"abc".slice(-1)
ฉันแสดงการใช้String.prototype.slice
ดัชนีที่เป็นลบที่นี่ str.slice(-n)
จะได้รับn
อักขระตัวสุดท้ายของสตริงต้นฉบับเป็นค่าสตริงใหม่ ข้อมูลเพิ่มเติม: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/
การใช้charAt
:
charAt () วิธีการส่งกลับตัวละครที่ดัชนีที่ระบุในสตริง
คุณสามารถใช้วิธีนี้ร่วมกับlength
คุณสมบัติของสตริงเพื่อรับอักขระตัวสุดท้ายในสตริงนั้น
ตัวอย่างเช่น:
const myString = "linto.yahoo.com.";
const stringLength = myString.length; // this will be 16
console.log('lastChar: ', myString.charAt(stringLength - 1)); // this will be the string
str.charAt(str.length - 1)
เบราว์เซอร์บางตัวอนุญาตให้คุณ (ย่อส่วนที่ไม่เป็นมาตรฐาน) ให้ย่อขนาดนี้เป็น:
str[str.length - 1];
คุณสามารถทำได้โดยใช้วิธีการต่าง ๆ แต่ด้วยประสิทธิภาพที่แตกต่างกัน
1. การใช้เครื่องหมายวงเล็บ:
var str = "Test";
var lastLetter = str[str.length - 1];
แต่ไม่แนะนำให้ใช้วงเล็บ ตรวจสอบเหตุผลที่นี่
2. charAt [ดัชนี]:
var lastLetter = str.charAt(str.length - 1)
สิ่งนี้สามารถอ่านได้และเร็วที่สุดในหมู่ผู้อื่น เป็นวิธีที่แนะนำมากที่สุด
3. ซับสตริง:
str.substring(str.length - 1);
4. ชิ้น:
str.slice(-1);
มันเร็วกว่าซับสตริงเล็กน้อย
คุณสามารถตรวจสอบประสิทธิภาพได้ที่นี่
ด้วย ES6:
คุณสามารถใช้ได้ str.endsWith("t");
แต่ไม่รองรับใน IE ตรวจสอบรายละเอียดเพิ่มเติมเกี่ยวกับสิ้นสุดได้ที่นี่
str.slice(-1);
endsWith
เหมาะกับที่นี่ที่ทำสิ่งที่แตกต่างอย่างสิ้นเชิง
วิธีง่ายๆในการทำเช่นนี้คือใช้ :)
var word = "waffle"
word.endsWith("e")
คุณสามารถรับถ่านตัวสุดท้ายเช่นนี้:
var lastChar=yourString.charAt(yourString.length-1);
var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];
คุณสามารถใช้วิธีการง่ายๆ ES6
const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));
สิ่งนี้จะใช้ได้ในทุกเบราว์เซอร์
คุณสามารถใช้สิ่งต่อไปนี้ ในกรณีของตัวละครตัวสุดท้ายมันเกินความจริง แต่สำหรับซับสตริงมันมีประโยชน์:
var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)
alert("its a match");
>Try this...
console.log("linto.yahoo.com.".charAt("linto.yahoo.com.".length-1));