Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Eigenschaften und Methoden des String-Objekts von JavaScript nativen Objekten_Javascript-Kenntnissen
Länge
Die Eigenschaftlength gibt die Anzahl der Zeichen in einer Zeichenfolge zurück.
length ermittelt die Länge basierend auf der UTF-16-Kodierung der Zeichenfolge. Die Länge einer leeren Zeichenfolge beträgt 0. Länge kann nicht geändert werden.
charAt()
Die Methode charAt() gibt das Zeichen an der angegebenen Position zurück. Beachten Sie, dass JavaScript keinen Zeichendatentyp hat, der sich vom String-Typ unterscheidet, sodass die zurückgegebenen Zeichen Strings der Länge 1 sind.
stringObject.charAt(index)
Der Parameterindex ist erforderlich. Eine Zahl, die eine bestimmte Position in einer Zeichenfolge darstellt, also den Index eines Zeichens in der Zeichenfolge. Der Index des ersten Zeichens in der Zeichenfolge ist 0. Wenn der Parameterindex nicht zwischen 0 und string.length liegt, gibt diese Methode einen leeren String zurück.
Hinweis: Die charAt()-Methode kann Probleme bei der Unterstützung einiger Nicht-BMP-Zeichen (Basic-Multilingual-Plane) haben. Referenz: MDN
charCodeAt()
Die Methode charCodeAt() gibt die Unicode-Kodierung des Zeichens an der angegebenen Position zurück. Dieser Rückgabewert ist eine Ganzzahl zwischen 0 und 65535.
Die Methode charCodeAt() führt einen ähnlichen Vorgang wie die Methode charAt() aus, mit der Ausnahme, dass erstere die Kodierung des Zeichens an der angegebenen Position zurückgibt, während letztere eine Teilzeichenfolge von Zeichen zurückgibt.
stringObject.charCodeAt(index)
Der Parameterindex ist optional. Eine Zahl, die eine bestimmte Position in einer Zeichenfolge darstellt, also den Index eines Zeichens in der Zeichenfolge. Der Index des ersten Zeichens in der Zeichenfolge ist 0. Wenn index negativ oder größer oder gleich der Länge der Zeichenfolge ist, gibt charCodeAt() NaN zurück. Der Standardwert ist 0, wenn der Index leer ist.
Der Unicode-Kodierungsbereich liegt zwischen 0 und 1.114.111. Die ersten 128 Unicode-Kodierungen stimmen mit ASCII-Zeichenkodierungen überein. Der von der Methode charCodeAt() zurückgegebene Wert ist immer kleiner als 65536, da Zeichen mit höheren Werten paarweise auftreten und gleichzeitig mit charCodeAt(i) und charCodeAt(i 1) abgerufen werden müssen.
concat() – Veraltet
Die concat()-Methode wird verwendet, um zwei oder mehr Zeichenfolgen zu verketten.
stringObject.concat(stringX, stringX, …, stringX)
Der Parameter stringX ist erforderlich. Ist ein oder mehrere String-Objekte, die zu einem String verkettet werden.
Dieconcat()-Methode wandelt alle ihre Parameter in Zeichenfolgen um, verkettet sie dann der Reihe nach an das Ende der Zeichenfolge stringObject und gibt die verkettete Zeichenfolge zurück. Beachten Sie, dass das stringObject selbst nicht geändert wird.
Beachten Sie, dass es dringend empfohlen wird, den Operator „ “ zum Verketten von Zeichenfolgen als Alternative zu dieser effizienteren Methode zu verwenden. Referenz: concat vs vs join.
indexOf()
Die Methode indexOf() gibt die Position des ersten Vorkommens eines angegebenen Zeichenfolgenwerts in der Zeichenfolge zurück.
stringObject.indexOf(searchvalue, fromindex)
Der Parameter searchvalue ist erforderlich und gibt den abzurufenden Zeichenfolgenwert an. Der Parameter fromindex ist ein optionaler ganzzahliger Parameter. Gibt die Position in der Zeichenfolge an, an der mit der Suche begonnen werden soll. Seine zulässigen Werte sind 0 bis stringObject.length – 1. Wenn dieser Parameter weggelassen wird, beginnt die Suche beim ersten Zeichen der Zeichenfolge.
Diese Methode ruft die Zeichenfolge stringObject vom Anfang bis zum Ende ab, um zu sehen, ob sie den Teilstring-Suchwert enthält. Die Startposition der Suche liegt am fromindex der Zeichenfolge oder am Anfang der Zeichenfolge (wenn fromindex nicht angegeben ist). Wenn ein Suchwert gefunden wird, wird die Position des ersten Vorkommens des Suchwerts zurückgegeben. Zeichenpositionen in stringObject beginnen bei 0.
Hinweis: Bei der Methode indexOf() wird die Groß-/Kleinschreibung beachtet! Wenn der abzurufende Zeichenfolgenwert nicht angezeigt wird, gibt die Methode -1 zurück.
lastIndexOf()
DielastIndexOf()-Methode kann die letzte Vorkommensposition eines angegebenen Zeichenfolgenwerts zurückgeben und von hinten nach vorne an der angegebenen Position in einer Zeichenfolge suchen.
Die Parameter und Verwendungsmethoden von lastIndexOf() und indexOf() sind gleich, außer dass sie von hinten nach vorne suchen.
console.log(str.indexOf("wo")); //6
console.log(str.indexOf("wo",2)); //6
console.log(str.indexOf("wo",10)); //12
console.log(str.lastIndexOf("wo")); //12
console.log(str.lastIndexOf("wo",2)); //-1
console.log(str.lastIndexOf("wo",10)); //6
localeCompare()
Vergleicht zwei Zeichenfolgen in lokalspezifischer Reihenfolge.
stringObject.localeCompare(target)
Der Parameter target ist erforderlich, der String, der mit stringObject in einer lokal spezifischen Reihenfolge verglichen werden soll.
Gibt die Nummer des Vergleichsergebnisses zurück. Wenn stringObject kleiner als das Ziel ist, gibt localeCompare() eine Zahl kleiner als 0 zurück. Wenn stringObject größer als Ziel ist, gibt diese Methode eine Zahl größer als 0 zurück. Wenn die beiden Zeichenfolgen gleich sind oder laut lokaler Sortierung kein Unterschied besteht, gibt diese Methode 0 zurück.
Wenn die Operatoren < und > auf Zeichenfolgen angewendet werden, vergleichen sie Zeichenfolgen nur mit der Unicode-Kodierung des Zeichens, unabhängig von der lokalen Sortierung. Die so generierte Reihenfolge ist nicht unbedingt korrekt. Beispielsweise wird im Spanischen das Zeichen „ch“ normalerweise als Zeichen angeordnet, das zwischen den Buchstaben „c“ und „d“ erscheint. Die Methode localeCompare() bietet eine Möglichkeit zum Vergleichen von Zeichenfolgen unter Berücksichtigung der standardmäßigen lokalen Sortierung.
Die Parameter von localeCompare() in einigen erweiterten Browsern unterstützen auch Gebietsschemas und Optionen, siehe folgenden Code und MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript / Referenz/Global_Objects/String/localeCompare
match()
Diematch()-Methode ruft einen angegebenen Wert innerhalb einer Zeichenfolge ab oder findet eine Übereinstimmung für einen oder mehrere reguläre Ausdrücke.
Diese Methode ähnelt indexOf() und lastIndexOf(), gibt jedoch den angegebenen Wert anstelle der Position der Zeichenfolge zurück.
stringObject.match(regexp)
Der Parameter regexp kann eine Zeichenfolge oder ein RegExp-Objekt mit regulärem Ausdruck sein.
Gibt ein Array zurück, das übereinstimmende Ergebnisse speichert. Der Inhalt dieses Arrays hängt davon ab, ob regexp das globale Flag g hat.
Wenn der reguläre Ausdruck nicht über das g-Flag verfügt, kann die match()-Methode nur eine Übereinstimmung im stringObject durchführen. Wenn kein passender Text gefunden wird, gibt match() null zurück. Andernfalls wird ein Array mit Informationen zum gefundenen passenden Text zurückgegeben. Das 0. Element des Arrays enthält den passenden Text, während die übrigen Elemente den Text enthalten, der dem Unterausdruck des regulären Ausdrucks entspricht. Zusätzlich zu diesen regulären Array-Elementen enthält das zurückgegebene Array zwei Objekteigenschaften. Das Indexattribut deklariert die Position des Startzeichens des passenden Textes in stringObject und das Eingabeattribut deklariert einen Verweis auf stringObject.
Wenn der reguläre Ausdruck das Flag g hat, führt die Methode match() eine globale Suche durch, um alle übereinstimmenden Teilzeichenfolgen im stringObject zu finden. Wenn kein passender Teilstring gefunden wird, wird null zurückgegeben. Wenn ein oder mehrere passende Teilstrings gefunden werden, wird ein Array zurückgegeben. Der Inhalt des vom globalen Abgleich zurückgegebenen Arrays unterscheidet sich jedoch stark vom vorherigen. Seine Array-Elemente speichern alle übereinstimmenden Teilzeichenfolgen in stringObject und es gibt kein Indexattribut oder Eingabeattribut.
Ohne das g-Flag hat der Aufruf von stringObject.match(regexp) das gleiche Ergebnis wie der Aufruf von regexp.exec(stringObject). Im globalen Suchmodus liefert match() keine Informationen über den Text, der mit dem Unterausdruck übereinstimmt, und deklariert auch nicht die Position jedes übereinstimmenden Teilstrings. Wenn Sie diese global abgerufenen Informationen benötigen, können Sie RegExp.exec() verwenden.
Hinweis: Wenn Sie wissen müssen, ob eine Zeichenfolge mit einem regulären Ausdruck übereinstimmt, verwenden Sie regexp.test(string); wenn Sie nur einmal eine Übereinstimmung herstellen möchten, verwenden Sie regexp.exec(string) anstelle von string.match(regexp). .
console.log(str.match("world")); //["world", index: 6, input: "Hallo Welt!"]
console.log(str2.match(/d /g)); //["1", "2", "3"]
replace()
Die Methodereplace() wird verwendet, um einige Zeichen durch andere Zeichen in einer Zeichenfolge zu ersetzen oder eine Teilzeichenfolge zu ersetzen, die einem regulären Ausdruck entspricht.
stringObject.replace(regexp/substr, replacement)
Die Parameter regexp/substr sind erforderlich. Ein RegExp-Objekt, das die zu ersetzende Teilzeichenfolge oder das zu ersetzende Muster angibt. Wenn es sich bei dem Wert um eine Zeichenfolge handelt, wird er als Literalmuster abgerufen und nicht zunächst in ein RegExp-Objekt konvertiert. Parameteraustausch ist erforderlich. ist ein String-Wert. Gibt Funktionen zum Ersetzen von Text oder zum Generieren von Ersatztext an.
Die-Methode gibt eine neue Zeichenfolge zurück, die durch Ersetzen der ersten oder aller Übereinstimmungen von regexp durch replacement erhalten wird.
Die Methode replace() von string stringObject führt einen Such- und Ersetzungsvorgang durch. Es sucht in stringObject nach Teilzeichenfolgen, die mit regulärem Ausdruck übereinstimmen, und ersetzt diese Teilzeichenfolgen durch Ersetzung. Wenn der reguläre Ausdruck das globale Flag g hat, ersetzt die Methode replace() alle passenden Teilzeichenfolgen. Andernfalls wird nur der erste passende Teilstring ersetzt.
Ersetzung kann eine Zeichenfolge oder eine Funktion sein. Wenn es sich um eine Zeichenfolge handelt, wird jede Übereinstimmung durch die Zeichenfolge ersetzt. Aber das ersetzende $-Zeichen hat eine bestimmte Bedeutung. Wie unten gezeigt, wird veranschaulicht, dass die aus dem Mustervergleich erhaltene Zeichenfolge zum Ersetzen verwendet wird:
1.$$ – $
2.$` – der Text links von der übereinstimmenden Teilzeichenfolge.
3.$' – der Text rechts von der übereinstimmenden Teilzeichenfolge.
4.$& – Teilzeichenfolge, die mit dem regulären Ausdruck übereinstimmt.
5.$number – Text, der dem nummerierten Unterausdruck im regulären Ausdruck entspricht.
Ersetzung kann eine Funktion sein. In diesem Fall wird die Funktion für jede Übereinstimmung aufgerufen und die zurückgegebene Zeichenfolge wird als Ersetzungstext verwendet. Der erste Parameter dieser Funktion ist eine Zeichenfolge, die dem Muster entspricht. Das nächste Argument ist eine Zeichenfolge, die dem Unterausdruck im Muster entspricht. Es können 0 oder mehr solcher Argumente vorhanden sein. Der nächste Parameter ist eine Ganzzahl, die die Position im stringObject angibt, an der die Übereinstimmung auftritt. Der letzte Parameter ist das stringObject selbst.
//Mehrmals ersetzen
var str2 = "Hallo Microsoft! und Microsoft! und Microsoft! oder Microsoft!";
console.log(str2.replace(/Microsoft/g, "Google")); //Hallo Google und Google!
//Zeichenkonvertierung
var str3 = "Doe, John";
console.log(str3.replace(/(w )s*, s*(w )/, "$2 $1")); //John Doe
var str4 = '"a", "b"';
console.log(str4.replace(/"([^"]*)"/g, "'$1'")); //'a', 'b'
//Funktion verwenden
var str5 = 'aaa bbb ccc';
console.log(str5.replace(/bw b/g, function(word){
return word.substring(0,1).toUpperCase() word.substring(1);}
)); //Aaa Bbb Ccc
search()
Diesearch()-Methode wird verwendet, um eine bestimmte Teilzeichenfolge in einer Zeichenfolge abzurufen oder um eine Teilzeichenfolge abzurufen, die einem regulären Ausdruck entspricht.
stringObject.search(regexp)
Der Parameter regexp kann die Teilzeichenfolge sein, die in stringObject abgerufen werden muss, oder es kann das RegExp-Objekt sein, das abgerufen werden muss.
Gibt die Startposition des ersten Teilstrings in stringObject zurück, der mit regexp übereinstimmt. Wenn kein passender Teilstring gefunden wird, wird -1 zurückgegeben.
Hinweis: Die Methode search() führt keinen globalen Abgleich durch, sie ignoriert das g-Flag. Es ignoriert auch die lastIndex-Eigenschaft des regulären Ausdrucks und ruft immer vom Anfang der Zeichenfolge ab, was bedeutet, dass immer die erste übereinstimmende Position des stringObject zurückgegeben wird.
Si vous voulez simplement savoir s'il existe une chaîne correspondante, utiliser la méthode search() est presque la même chose que d'utiliser la méthode test(). Si vous souhaitez obtenir plus d'informations, vous pouvez utiliser les méthodes match() et exec(), mais l'efficacité sera faible.
tranche()
La méthodeslice() extrait une certaine partie d'une chaîne et renvoie la partie extraite sous forme de nouvelle chaîne.
stringObject.slice(début, fin)
Le paramètre start est l'index de départ du segment à extraire. S'il s'agit d'un nombre négatif, ce paramètre précise la position à partir de la fin de la chaîne. Autrement dit, -1 fait référence au dernier caractère de la chaîne, -2 fait référence à l'avant-dernier caractère, et ainsi de suite.
Le paramètre end est l'index qui suit immédiatement la fin du fragment à extraire. Si ce paramètre n'est pas précisé, la sous-chaîne à extraire inclut la chaîne du début à la fin de la chaîne d'origine. Si ce paramètre est négatif, il précise la position à partir de la fin de la chaîne.
La méthoderenverra une nouvelle chaîne. Inclut tous les caractères de la chaîne stringObject du début (inclus) à la fin (exclusif).
Remarque : Les méthodes slice(), substring() et substr() de l'objet String peuvent toutes renvoyer la partie spécifiée de la chaîne. Il est fortement recommandé d'utiliser la méthode slice() dans toutes les situations.
sous-chaîne()
Obsolète, il est recommandé d'utiliser slice() à la place.
substr()
Obsolète, il est recommandé d'utiliser slice() à la place.
toLocaleLowerCase()
Non recommandé. Il n'est utile que dans quelques langues comme le turc. Il est recommandé d'utiliser toLowerCase() à la place.
toLocaleUpperCase()
Non recommandé. Il n'est utile que dans quelques langues comme le turc. Il est recommandé d'utiliser toUpperCase() à la place.
toLowerCase()
La méthode toLowerCase() est utilisée pour convertir des chaînes en minuscules.
toUpperCase()
La méthodetoUpperCase() est utilisée pour convertir les chaînes en majuscules.
Les objets String ont également de nombreuses méthodes pour les balises HTML :anchor(), big(),link(), bold(),fixed(), fontcolor(), fontsize(), italics(), link() , small (), strike(), sub(), sup(). Ils effectuent principalement du formatage HTML sur les objets String. De nos jours, peu de personnes les appliquent et leur utilisation n'est pas recommandée.
Exemple de démonstration de méthode :
var txt="Bonjour tout le monde !"
document.write("
Big: " txt.big() "
")Small : " txt.small() "
")document.write("
Bold: " txt.bold() "
")Italique : " txt.italics() "
")document.write("
Blink: " txt.blink() " (ne fonctionne pas dans IE)
")Corrigé : " txt.fixed() "
")Strike : " txt.strike() "
")document.write("
Fontcolor: " txt.fontcolor("Rouge") "
")Fontsize : " txt.fontsize(16) "
")document.write("
Lowercase : " txt.toLowerCase() "
")Uppercase : " txt.toUpperCase() "
")document.write("
Indice : " txt.sub() "
")Superscript : " txt.sup() "
")document.write("
Link: " txt.link("http://www.w3school.com.cn") "
")