Metody ciągów znaków JavaScript
- Poprzednia strona JS ciąg znaków
- Następna strona JS wyszukiwanie ciągów znaków
Metody łańcucha pomagają Ci obsługiwać łańcuchy znaków.
Metody i właściwości łańcucha
Wartości surowe, takie jak "Bill Gates", nie mogą mieć właściwości i metod (ponieważ one nie są obiektami).
Jednak za pomocą JavaScript, metody i właściwości mogą być również stosowane do wartości surowych, ponieważ podczas wykonywania metod i właściwości JavaScript traktuje wartości surowe jako obiekty.
Długość łańcucha
length
Właściwość zwraca długość łańcucha:
Przykład
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
Wyszukiwanie łańcucha w łańcuchu
indexOf()
Metoda zwraca określony tekst w łańcuchu znaków:PierwszyIndeks wystąpienia (pozycja):
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
JavaScript liczy pozycje od zera.
0 jest pierwszą pozycją w łańcuchu, 1 jest drugą, 2 jest trzecią ...
lastIndexOf()
Metoda zwraca pozycję określonego tekstu w łańcuchu znaków:OstatniIndeks pierwszego wystąpienia:
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China");
jeśli nie znaleziono tekstu: indexOf()
i lastIndexOf()
Zwracają wszystkie -1.
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
Obie metody przyjmują drugi parametr jako pozycję początkową wyszukiwania.
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
Metoda przeszukuje wstecz (od końca do początku), co oznacza, że jeśli drugi parametr wynosi 50, to przeszukuje od pozycji 50 do początku łańcucha.
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
Wyszukiwanie łańcucha w łańcuchu
search()
Metoda wyszukuje konkretne wartości w łańcuchu znaków i zwraca pozycję dopasowania:
Przykład
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
Czy zauważyłeś to?
dwa metody,}indexOf()
i search()
, jestRówna się.
Te dwa metody są różne. Różnica polega na:
- Metoda search() nie może ustawić drugiego parametru pozycji startowej.
- Metoda indexOf() nie może ustawić bardziej zaawansowanych wartości wyszukiwania (wyrażenia regularne).
Dowiesz sięWyrażenia regularnez tych rozdziałów nauczyć się tych bardziej zaawansowanych wartości wyszukiwania.
Wyodrębnij część łańcucha
Są trzy metody wyodrębniania części łańcucha:
- slice(start, end)
- substring(start, end)
- substr(start, length)
Metoda slice()
slice()
Wyodrębnij część łańcucha i zwróć wyodrębnioną część w nowym łańcuchu.
Metoda ta ustawia dwa parametry: indeks początkowy (początek), indeks końcowy (koniec).
Ten przykład przycina fragment łańcucha od pozycji 7 do pozycji 13:
Przykład
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
Wynik res to:
Banana
Jeśli któryś z parametrów jest ujemny, liczy się od końca łańcucha.
Ten przykład przycina fragment łańcucha od pozycji -12 do pozycji -6:
Przykład
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
Wynik res to:
Banana
Jeśli pominięto drugi parametr, metoda ta przycina resztę łańcucha:
Przykład
var res = str.slice(7);
Albo odliczając od końca:
Przykład
var res = str.slice(-13);
Wskazówka:Ujemne pozycje nie są dostępne w przeglądarkach Internet Explorer 8 i wcześniejszych.
Metoda substring()
substring()
Podobnie jak slice()
.
Różnica polega na tym substring()
Nie można przyjąć ujemnych indeksów.
Przykład
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
Wynik res to:
Banana
Jeśli pominięto drugi parametr, to substring()
Przycina resztę łańcucha.
Metoda substr()
substr()
Podobnie jak slice()
.
Różnica polega na tym, że drugi parametr określaDługość.
Przykład
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
Wynik res to:
Banana
Jeśli pominięto drugi parametr, substr() przycina resztkę łańcucha.
Przykład
var str = "Apple, Banana, Mango"; var res = str.substr(7);
Wynik res to:
Banana, Mango
Jeśli pierwszy parametr jest ujemny, pozycja jest obliczana od końca łańcucha.
Przykład
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
Wynik res to:
Mango
Drugi parametr nie może być ujemny, ponieważ określa on długość.
Zastąp zawartość łańcucha
replace()
Metoda zastępuje wartość inną wartością określoną w łańcuchu znaków:
Przykład
str = "Proszę odwiedzić Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
Metoda nie zmienia ciągu znaków, który ją wywołuje. Zwraca nowy ciąg znaków.
Domyślnie,replace()
zastępuje tylko pierwsze dopasowanie:
Przykład
str = "Proszę odwiedzić Microsoft i Microsoft!"; var n = str.replace("Microsoft", "W3School");
Domyślnie,replace()
Zależy to od tego, czy dopasowanie jest wrażliwe na wielkość liter. Dlatego nie dopasowuje się do "MICROSOFT":
Przykład
str = "Proszę odwiedzić Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
Aby wykonać zastąpienie niezależne od wielkości liter, użyj wyrażenia regularnego /i
niezależnie od wielkości liter:
Przykład
str = "Proszę odwiedzić Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
Proszę zauważyć, że wyrażenia regularne nie mają cudzysłowów.
Aby zastąpić wszystkie dopasowania, użyj wyrażenia regularnego g
Znak (używany do globalnego wyszukiwania):
Przykład
str = "Proszę odwiedzić Microsoft i Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
Dowiedz się więcej o wyrażeniach regularnych w rozdziale o wyrażeniach regularnych w JavaScript.Wyrażenia regularnezawartość.
Konwersja na duże i małe litery
Poprzez toUpperCase()
Konwersja ciągu znaków na duże litery:
Przykład
var text1 = "Hello World!"; // ciąg znaków var text2 = text1.toUpperCase(); // text2 jest przekształconym na duże litery text1
Poprzez toLowerCase()
Konwersja ciągu znaków na małe litery:
Przykład
var text1 = "Hello World!"; // ciąg znaków var text2 = text1.toLowerCase(); // text2 jest przekształconym na małe litery text1
Metoda concat()
concat()
Łączenie dwóch lub więcej ciągów znaków:
Przykład
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
Metoda można użyć zamiast operatora dodawania. Poniższe dwie linie są ekwiwalentne:
Przykład
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
Wszystkie metody łańcucha zwracają nowy ciąg znaków. Nie zmieniają oryginalnego ciągu znaków.
Oficjalnie mówiąc: ciąg znaków jest niemutowalny: ciąg znaków nie może być zmieniony, tylko zastąpiony.
String.trim()
trim()
Metoda usuwa białe znaki z obu końców ciągu znaków:
Przykład
var str = " Hello World! "; alert(str.trim());
Ostrzeżenie:Internet Explorer 8 lub wcześniejsze wersje nie obsługują trim()
Metoda.
Aby obsługiwać IE 8, możesz używać regular expression w połączeniu z metodą replace()
Metoda zastępująca:
Przykład
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
Możesz również użyć powyższego rozwiązania, aby dodać funkcję trim do JavaScript String.prototype:
Przykład
if (!String.prototype.trim) { String.prototype.trim = function () { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; var str = " Hello World! "; alert(str.trim());
Wydobywanie znaków z ciągu znaków
To dwa sposoby wydobywania znaków z ciągu znakówBezpiecznyMetoda:
- charAt(position)
- charCodeAt(position)
Metoda charAt()
charAt()
Metoda zwraca ciąg znaków na określonym indeksie (pozycji):
Przykład
var str = "HELLO WORLD"; str.charAt(0); // Zwraca H
Metoda charCodeAt()
charCodeAt()
Metoda zwraca unicode kod znaku na określonym indeksie w ciągu znaków:
Przykład
var str = "HELLO WORLD"; str.charCodeAt(0); // Zwraca 72
Dostęp do właściwości (Property Access)
ECMAScript 5 (2009) pozwala na dostęp do właściwości ciągów znaków [ ]:
Przykład
var str = "HELLO WORLD"; str[0]; // Zwraca H
Dostęp do właściwości jest nieco zawodny:
- Nie jest kompatybilny z Internet Explorer 7 lub wcześniejszymi wersjami
- Sprawia, że ciąg znaków wygląda jak tablica (choć tak naprawdę nim nie jest)
- jeśli nie znajduje się znak
[ ]
Zwracaundefined
acharAt()
Zwraca pustą ciąg znaków. - Jest tylko do odczytu.
str[0] = "A"
Nie powoduje błędu (ale również nie działa!)
Przykład
var str = "HELLO WORLD"; str[0] = "A"; // Nie powoduje błędu, ale nie działa str[0]; // Zwraca H
Wskazówka:Jeśli chcesz przetwarzać stringę jako tablicę, możesz najpierw ją przekształcić na tablicę.
Konwersja stringi na tablicę
Możesz split()
Konwersja stringi na tablicę:
Przykład
var txt = "a,b,c,d,e"; // Ciąg znaków txt.split(","); // Rozdziel na znaki txt.split(" "); // Rozdziel na znaki txt.split("|"); // Rozdziel na znaki
Jeśli separator jest pominięty, zwrócona tablica będzie zawierać całą stringę w index [0].
Jeśli separatorem jest "", zwrócona tablica będzie zawierać tablicę z pojedynczymi znakami w odstępach:
Przykład
var txt = "Hello"; // Ciąg znaków txt.split("\""
Pełny podręcznik referencyjny String
Aby uzyskać pełny podręcznik referencyjny, odwiedź nasz Podręcznik referencyjny JavaScript ciągów znaków.
Ten podręcznik zawiera opisy i przykłady wszystkich właściwości i metod ciągów znaków.
- Poprzednia strona JS ciąg znaków
- Następna strona JS wyszukiwanie ciągów znaków