JavaScript:Odstraňte první/poslední znak z řetězce [Příklady]

Tento výukový program vysvětlí několik způsobů, jak odstranit první nebo poslední znak (nebo oba!) z řetězce v programovacím jazyce JavaScript.

To může být užitečné, pokud potřebujete psát velká písmena ve jménech nebo větách nebo odstranit interpunkci.

Odstraňte první/poslední znak pomocí substring() Metoda

JavaScript podřetězec() metodu lze použít k odstranění prvního nebo posledního znaku z řetězce.

Další informace o substring() a podobné substr() metody zde.

Níže uvedený příklad kódu ukazuje, jak z řetězce odstranit první, poslední a první i poslední znak.

var myString = "Hello LinuxScrew!"; // Define a string
var removeFirstLetter = myString.substring(1); // Will return "ello LinuxScrew!"
var removeLastLetter = myString.substring(0, myString.length -1); // Will return "Hello LinuxScrew"
var removeFirstAndLastLetter = myString.substring(1, myString.length -1); // Will return "ello LinuxScrew"

Co když je řetězec dlouhý pouze 1 znak?

Pomocí substring() má jednu nevýhodu – nehraje dobře s jednoznakovými strunami. Pokud si nejste jisti, jak dlouhý je řetězec, který budete zpracovávat, předem nebo víte, že by mohl mít hodnotu jednoho znaku, doporučujeme použít slice() metoda popsaná dále v tomto tutoriálu.

var myString = "H"; // Define a string
var removeFirstLetter = myString.substring(1); // Will return ""
var removeLastLetter = myString.substring(0, myString.length -1); //  Will return ""
var removeFirstAndLastLetter = myString.substring(1, myString.length -1); // Will return "H" - which is wrong!

Proč tato metoda nefunguje, když je přítomen pouze jeden znak? Souvisí to s tím, jak substring() funguje. substring() používá index znaků v řetězci, abyste určili, co bude zachováno a co bude vyřazeno.

A co prázdný řetězec?

 podřetězec() metoda dělá chovat se správně při práci s prázdnými řetězci – vrací očekávaný prázdný řetězec při pokusu o odstranění prvních/posledních znaků:

var myString = ""; // Define a string
var removeFirstLetter = myString.substring(1); // Will return ""
var removeLastLetter = myString.substring(0, myString.length -1); //  Will return ""
var removeFirstAndLastLetter = myString.substring(1, myString.length -1); // Will return ""

Odstraňte první/poslední znak pomocí slice() Metoda

Pokud si nejste jisti, jakou délku bude mít řetězec, se kterým chcete pracovat, je bezpečnější použít slice() metoda:

var myString = "Hello LinuxScrew!"; // Define a string
var removeFirstLetter = myString.slice(1, myString.length); // Will return "ello LinuxScrew!"
var removeLastLetter = myString.slice(0, s.length -1); // Will return "Hello LinuxScrew"
var removeFirstAndLastLetter = myString.slice(1,myString.length).slice(0, myString.length - 2); // Will return "ello LinuxScrew"

Všimněte si na posledním řádku, že druhé volání slice() má koncovou pozici myString.length – 2 – protože dva znaky jsou odstraňovány ve dvou samostatných operacích řezu.

Pomocí slice() bude fungovat bez ohledu na délku řetězce.