hoe kom je aan het laatste teken van een string?

Hoe het laatste teken van de tekenreeks te krijgen:

"linto.yahoo.com."

Het laatste teken van deze tekenreeks is "."

Hoe kan ik dit vinden?


Antwoord 1, autoriteit 100%

Een elegant en kort alternatief is de String.prototype.slicemethode.

Gewoon door:

str.slice(-1);

Een negatieve startindex verdeelt de tekenreeks van length+indexnaar length, zijnde index -1, het laatste teken wordt geëxtraheerd:

"abc".slice(-1); // "c";

Antwoord 2, autoriteit 10%

Gebruik charAt:

De methode charAt() retourneert het teken op de opgegeven index in een tekenreeks.

Je kunt deze methode gebruiken in combinatie met de lengtheigenschap van een tekenreeks om het laatste teken in die tekenreeks te krijgen.
Bijvoorbeeld:

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

Antwoord 3, autoriteit 7%

str.charAt(str.length - 1)

Sommige browsers staan u toe (als een niet-standaard extensie) dit in te korten tot:

str[str.length - 1];

Antwoord 4, autoriteit 6%

Je kunt dit op verschillende manieren bereiken, maar met verschillende prestaties,

1. Haakjesnotatie gebruiken:

var str = "Test";
var lastLetter = str[str.length - 1];

Maar het wordt niet aanbevolen om haakjes te gebruiken. Bekijk de redenen hier

2. charAt[index]:

var lastLetter = str.charAt(str.length - 1)

Dit is onder andere leesbaar en het snelst. Het is de meest aanbevolen manier.

3. subtekenreeks:

str.substring(str.length - 1);

4. stukje:

str.slice(-1);

Het is iets sneller dan substring.

Je kunt de prestaties hier

bekijken

Met ES6:

U kunt str.endsWith("t");

. gebruiken

Maar het wordt niet ondersteund in IE. Bekijk hier


Antwoord 5, autoriteit 3%

Gebruik substrmet parameter -1:

“linto.yahoo.com.”.substr(-1);

is gelijk aan “.”

Opmerking:

Gebruik een negatief startnummer om tekens aan het einde van de tekenreeks te extraheren (dit werkt niet in IE 8 en eerder).


Antwoord 6

Een gemakkelijke manier om dit te doen is dit te gebruiken 🙂

var word = "waffle"
word.endsWith("e")

Antwoord 7

Je kunt de laatste char als volgt krijgen:

var lastChar=yourString.charAt(yourString.length-1);

Antwoord 8

Probeer dit…

const str = "linto.yahoo.com."
console.log(str.charAt(str.length-1));

Antwoord 9

Gebruik de JavaScript-functie charAtom een teken op een bepaalde 0-geïndexeerde positie. Gebruik lengthom erachter te komen hoe lang de string is. U wilt het laatste teken, dus dat is lengte – 1.
Voorbeeld:

var word = "linto.yahoo.com.";
var last = word.charAt(word.length - 1);
alert('The last character is:' + last);

Antwoord 10

var firstName = "Ada";
var lastLetterOfFirstName = firstName[firstName.length - 1];

Antwoord 11

U kunt het volgende gebruiken. In dit geval van het laatste teken is het een overkill, maar voor een substring is het handig:

var word = "linto.yahoo.com.";
var last = ".com.";
if (word.substr(-(last.length)) == last)
alert("its a match");

Antwoord 12

Als u al of al lodash gebruikt, gebruikt u laatste in plaats daarvan:

_.last(str);

Niet alleen is het meer beknopt en voor de hand liggend dan de vanille JS, het ook veiliger sinds het vermijdt Uncaught TypeError: Cannot read property X of undefinedniet lezen wanneer de invoer nullis of undefined, dus u hoeft dit niet van tevoren te controleren:

// Will throws Uncaught TypeError if str is null or undefined
str.slice(-1); // 
str.charAt(str.length -1);
// Returns undefined when str is null or undefined
_.last(str);

Antwoord 13

U kunt deze eenvoudige ES6-methode

gebruiken

const lastChar = (str) => str.split('').reverse().join(',').replace(',', '')[str.length === str.length + 1 ? 1 : 0];
// example
console.log(lastChar("linto.yahoo.com."));

Other episodes