In diesem Artikel werden hauptsächlich die spezifische Verwendung des String-Objekts in JavaScript sowie die mit dem String-Objekt verbundenen Methoden vorgestellt und analysiert um Entwicklern einen besseren Fortschritt bei der JavaScript-Entwicklung zu ermöglichen. Behandelt Strings gut.
String-Objekt ein, um Operationen an Zeichenfolgen auszuführen, z. B. das Abfangen einer Teilzeichenfolge, die Suche nach Zeichenfolgen/Zeichen, das Konvertieren von Groß- und Kleinschreibung usw.
2.1 neu String(Wert) Konstruktor: Gibt ein String-Objekt zurück, dessen Inhalt Wert ist
Parameter:
①value {String}: String
Rückgabewert:
{String object} Gibt ein String-Objekt zurück, dessen Inhalt Value
ist. Beispiel:
var demoStr = new String('abc'); console.log(typeof demoStr); // => object console.log(demoStr); // => abc
2.2 Direkte Zuweisung (empfohlen)
Beispiel:
var demoStr = 'abc'; console.log(typeof demoStr); // string console.log(demoStr); // => abc
3.1 Länge: Rückgabezeichenfolge Die Anzahl der Zeichen
var s = 'abc'; console.log(s.length); // => 3 console.log('新年快乐'.length); // => 4 :一个中文字符也计算为1个数量 console.log(''.length); // => 0 :空字符串返回0
Hinweis: Die Instanzmethode eines Strings verändert nicht den String selbst, sondern gibt nur das Ergebnis der Operation zurück.
4.1 charAt(index): Gibt das Zeichen an der angegebenen Position in einer Zeichenfolge zurück. Die Zahl beginnt bei 0. Wenn ein nicht vorhandener Wert übergeben wird, wird eine leere Zeichenfolge zurückgegeben :
Index , berechnet aus 0
Rückgabewert: {string} Gibt das Zeichen an der angegebenen Position in zurück eine Zeichenfolge; falls übergeben Geben Sie einen nicht vorhandenen Positionswert ein und geben Sie eine leere Zeichenfolge zurück Beispiel:var s = 'abc'; console.log(s.charAt(1)); // => b :返回位置为1的字符 console.log(s); // => 不影响原来的数组 console.log(s.charAt(5)); // => '' :获取一个不存在位置的字符,返回一个长度为0的空字符串
Parameter:
var s = 'abc'; console.log(s.charCodeAt(0)); // => 98 :字符b的Unicode编码 console.log(s.charCodeAt(5)); // => NaN :获取一个不存在位置的字符,返回NaN
{string} Rückgabeverbindungszeichenfolge nach
4.4 indexOf(value, |start
Position): Suchen Sie eine Zeichenfolge oder ein Zeichen von vorne nach hinten in der Instanz und geben Sie die gefundene Position zurück (von 0 an gezählt). Wenn nicht gefunden, geben Sie -1 zurück
Parameter: ①value {string}: Die Zeichenfolge, nach der gesucht werden sollvar s = 'abc'; console.log(s.concat('d')); // => abcd console.log(s); // => abc :不影响原先的字符串 console.log(s.concat('d', 'e')); // => abcde
②startPosition {int} Optional: Startposition zum Starten der Suche, Standardstartposition 0 startet die Suche Rückgabewert:
4.5 lastIndexOf(value, |startPosition): Suchen Sie in der Instanz von hinten nach vorne nach einer Zeichenfolge oder einem Zeichen und geben Sie den gefundenen Wert zurück Position (von 0 an gezählt). Wenn nicht gefunden, geben Sie -1 zurück
Parameter: ①value {string}: Die Zeichenfolge, nach der gesucht werden soll ②startPosition {int} Optional: Die Startposition zum Starten der Suche, die Der Standardwert ist vom Ende. Suche startenvar s = 'abc'; console.log(s.indexOf('b')); // => 1 console.log(s.indexOf('d')); // => -1 :未找到 console.log(s.indexOf('b', 2)); // => -1 :从位置2(第3个字符处)开始查找
Rückgabewert:
4.6 localeCompare(value): Vergleichen Sie die Instanz mit dem Parameter und geben Sie das Vergleichsergebnis zurück
Parameter: ①value {string}: Der zu vergleichende String Rückgabewert:var s = 'abcabc'; console.log(s.lastIndexOf('a')); // => 3 :从后往前查找 console.log(s.lastIndexOf('d')); // => -1 :未找到返回-1 console.log(s.lastIndexOf('a', 2)); // => 0 :从位置2(第3个字符处)开始往前查找
0: Die Instanz ist größer als der Parameter
4.7 match(regexp): Verwenden Sie
regulären Ausdruckfür passende Suche
Parameter:①regexp {regexp}: Regulärer Ausdruck, z. B.:/d+/
var s='abc'; console.log(s.localeCompare('ab')); // => 1 :实例比参数大 console.log(s.localeCompare('abc')); // => 0 :实例与参数相等 console.log(s.localeCompare('abd')); // => -1 :实例比参数小
Rückgabewert: Abhängig davon, ob der reguläre Ausdruck das Attribut hat 'g', es werden unterschiedliche Ergebnisse zurückgegeben. Wenn nicht, geben Sie {
null
4.8 replace(regexp, replaceStr): Ersetzen Sie die Teilzeichenfolge, die mit dem regulären Ausdruck übereinstimmt, und geben Sie die ersetzte Zeichenfolge zurück.
Parameter: ①regexp {regexp}: Regulärer Ausdruck. zB:/d+/②replaceStr {string function}:// 1.单个匹配 var s = 'a1b2c3d4'; var mc = s.match(/\d+/); // => 获取第一个正则匹配的结果 if (mc != null) { console.log(mc.index); // => 1 :匹配结果在匹配源的起始位置 console.log(mc.input) // => a1b2c3d4 :匹配源 console.log(mc[0]); // => 1 :获取匹配到的结果 } // 2.全局匹配 var mcArray = s.match(/\d+/g); // => 获取全部正则匹配的数字 if (mcArray != null) { for (var i = 0,len=mcArray.length; i < len; i++) { var mc=mcArray[i]; console.log(mc); // => 1,2,3,4 :获取匹配到的结果 } } // 3.带括号的匹配 s = 'a1b2c3d4'; mc = s.match(/[a-z]([1-9])/); // => 获取第一个正则匹配的结果 if (mc != null) { console.log(mc.index); // => 0 :匹配结果在匹配源的起始位置 console.log(mc.input) // => a1b2c3d4 :匹配源 console.log(mc[0]); // => a1 :序号0表示匹配到的结果 console.log(mc[1]); // => 1 :序号1表示第一个括号内的子匹配结果 }
1)若是字符串,表示替换的字符串,匹配到字串都替换成此字符串;
字符串中的$字符有特殊的含义:
$1,$2 … $99 :表示①参从左到右圆括号的匹配子项
$& :表示整个①参匹配的子项
$$ :美元符号
2)若是函数,表示每个匹配结果都调用此函数,函数的唯一参数为匹配结果,并返回一个替换结果。
返回值:
{string} 返回一个替换后的字符串
示例:
var oldStr = 'a1b2c3d4'; // 1.正则匹配到【所有】数字,替换成:','逗号 var newStr = oldStr.replace(/\d+/g, ','); console.log(newStr); // => a,b,c,d, // 2.正则匹配到【所有】数字,替换成:匹配结果 + ','逗号 newStr = oldStr.replace(/\d+/g, '$&,'); console.log(newStr); // => a1,b2,c3,d4, // 3.正则匹配到【所有】数字,每个匹配结果都调用函数,并返回替换后的结果 newStr = oldStr.replace(/\d+/g, function (word) { if (word % 2 == 0) { return '偶'; } return '奇'; }); console.log(newStr); // => a奇b偶c奇d偶
4.9 search(regexp) :返回查找正则表达式第一个匹配的位置
参数:
①regexp {regexp} :正则表达式。eg:/\d+/
返回值:
{int} 返回第一个匹配的结果的位置;若没找到匹配结果返回-1
示例:
console.log( 'abcd'.search(/\d+/) ); // => -1 :没有找到数字 console.log( 'abcd1234'.search(/\d+/) ); // => 4 :位置序号为4,返回第一个数字的位置
4.10 slice(start, |end):返回从字符串start位置到end前一个位置的子串
参数:
①start {int} :子串提取的开始位置索引(包括此位置的字符)。
若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。
②end {int} 可选:子串提取的结束位置索引(不包括此位置的字符)。
若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。
若省略此参数,返回从start位置到结束的所有字符。
注意:
子串的提取顺序是从左到有,若start索引位置大于end索引位置,将返回一个空字符串。
返回值:
{string} 返回从字符串start位置到end前一个位置的子串。
示例:
var s = 'abcdefg'; console.log( s.slice(1) ); // bcdefg :省略end参数,结束位置为末尾 console.log( s.slice(1, 3) ); // bc :返回从位置序号1到位置序号2(end前一个位置)的子串 console.log( s.slice(-3) ); // efg :返回从倒数第三个开始到末尾的所有字符 console.log( s.slice(-3, -1) ); // ef :返回从倒数第三个开始到第二个(end前一个位置)的所有字符
4.11 split(delimiter, |arrayLength) :将字符串按照某种分隔符切分成一个由字符串组成的数组并返回
参数:
①delimiter {regexp | string} :指定的分隔符,可以为正则表达式或字符串。
②arrayLength {int} 可选 :分割数组的长度。若省略,返回所有分割的子串。
注意:
若分隔符在字符串的第一个或最后一个,将添加一个空字符串到返回的数组。
返回值:
{ string[] } 返回一个由字符串组成的数组。
示例:
console.log( 'a,b,c,d,e'.split(',') ); // => ["a", "b", "c", "d", "e"] console.log( ',a,b,c,d,e,'.split(',') ); // => ["", "a", "b", "c", "d", "e", ""] :分隔符在最前或最后面,会添加一个空字符串 console.log( 'a,b,c,d,e'.split(',',3) ); // => ["a", "b", "c"] :返回前3个分割的子串 console.log( 'a1b2c3d4e'.split(/\d/) ); // => ["a", "b", "c", "d", "e"] :将数字来做为分隔符
4.12 substr(start, |wordLength):返回从字符串start位置开始计算到wordLength个长度的子串
参数:
①start {int} :子串提取的开始位置索引(包括此位置的字符)。
若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。
②wordLength {int} 可选 :提取字符的长度。若省略此参数,返回从start位置到结束的所有字符。
返回值:
{string} 返回提取的字符串
示例:
ar s = 'abcdefg'; onsole.log( s.substr(0) ); // => abcdefg :省略第二个参数,返回从位置序号0开始,一直到最后的字符 onsole.log( s.substr(0, 3) ); // => abc :返回从位置序号0开始,计数3个字符 onsole.log( s.substr(2, 4) ); // => cdef :返回从位置序号2开始,计数4个字符 onsole.log( s.substr(-2, 3) ); // fg :返回从倒数第二个字符串开始,计数3个(超过字符长度,就只返回可统计的字符)
4.12 substr(start, |wordLength):返回从字符串start位置开始计算到wordLength个长度的子串
参数:
①start {int} :子串提取的开始位置索引(包括此位置的字符)。
若数字为负,表示从字符串尾部开始计算。如:-1表示倒数一个字符串,-2表示倒数第二个字符。
②wordLength {int} 可选 :提取字符的长度。若省略此参数,返回从start位置到结束的所有字符。
返回值:
{string} 返回提取的字符串
示例:
ar s = 'abcdefg'; onsole.log( s.substr(0) ); // => abcdefg :省略第二个参数,返回从位置序号0开始,一直到最后的字符 onsole.log( s.substr(0, 3) ); // => abc :返回从位置序号0开始,计数3个字符 onsole.log( s.substr(2, 4) ); // => cdef :返回从位置序号2开始,计数4个字符 onsole.log( s.substr(-2, 3) ); // fg :返回从倒数第二个字符串开始,计数3个(超过字符长度,就只返回可统计的字符)
4.13 substring(start, |end) :返回从字符串start位置到end前一个位置的子串
参数:
①start {int} :子串提取的开始位置索引(包括此位置的字符)。数字不能为负数,若为负数按0来处理
②end {int} 可选:子串提取的结束位置索引(不包括此位置的字符)。数字不能为负数,若为负数按0来处理
返回值:
{string} 返回从字符串start位置到end前一个位置的子串。
示例:
var s = 'abcdefg'; console.log( s.substring(0) ); // => abcdefg :省略end参数,返回从位置序号0开始,一直到最后的字符 console.log( s.substring(0, 3) ); // => abc :返回从位置序号0开始到位置序号2(②参的前一个)的字符 console.log( s.substring(2, 4) ); // => cd :返回从位置序号2开始到位置序号3(②参的前一个)的字符 console.log( s.substring(-3, 3) ); // abc :参数若为负,就按数字0来处理,所以此参数实际返回位置序号0到位置序号3的字符
4.14 toUpperCase() :将字符串转换为大写并返回
4.15 toUpperCase() :将字符串转换为小写并返回
4.16 trim() :移除字符串开头和结尾处的空白字符并返回
Das obige ist der detaillierte Inhalt vonVertiefendes Verständnis der Codebeispiele für JavaScript-String-Objekte. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!