JavaScript字符串常见基础方法精讲

1. JavaScript字符串概述

JavaScript中的字符串是一组字符的序列,可以使用单引号、双引号或反引号表示。字符串可用于表示文本和数据。

var str1 = "JavaScript字符串"; 

var str2 = 'JavaScript字符串';

var str3 = `JavaScript字符串`;

1.1 字符串常用属性

字符串是一种基本的 JavaScript 数据类型,JavaScript 有 3 个原始的引用类型,即 String、Number 和 Boolean 类型。

String 类型有两个用于获取字符串长度的属性:length 和 size

var str = "JavaScript字符串"; 

console.log(str.length); // 10

console.log(str.size); // undefined

String 类型还有一个原型属性 constructor,它返回创建字符串实例的函数(构造函数)引用。

var str = "JavaScript字符串"; 

console.log(str.constructor); // function String() {[native code]}

1.2 字符串常用方法

JavaScript 字符串提供很多方便的方法来操作字符串,下面将详细介绍常用的字符串方法。

2. 字符串常用方法详解

2.1 字符串的截取和拼接

JavaScript提供了多种截取和拼接字符串的方法,使我们在开发中更加方便地处理字符串类型的数据。

2.1.1 截取字符串 substr()

substr() 方法用于截取字符串中指定位置的子字符串。

var str = "JavaScript字符串";

console.log(str.substr(0,4)); // "Java"

console.log(str.substr(13)); // "串"

该函数的第一个参数表示起始下标,第二个表示截取的长度,如果省略第二个参数,则表示截取到字符串末尾。

2.1.2 截取字符串 slice()

slice() 方法用于截取字符串中指定位置的子字符串。

var str = "JavaScript字符串";

console.log(str.slice(0,4)); // "Java"

console.log(str.slice(-6)); // "字符串"

该函数的第一个参数表示起始下标,第二个表示截取终止下标,如果省略第二个参数,则表示截取到字符串末尾。如果参数为负数,会从字符串的结尾开始计算。

2.1.3 字符串拼接 concat()

concat() 方法用于将多个字符串拼接成一个字符串。

var str1 = "JavaScript";

var str2 = "字符串";

console.log(str1.concat(str2)); // "JavaScript字符串"

该函数接受多个字符串参数,如果需要拼接多个字符串,使用 + 号操作符即可。

var str1 = "JavaScript";

var str2 = "字符串";

console.log(str1 + str2); // "JavaScript字符串"

2.2 字符串的查找和替换

我们可以使用 indexOf()、lastIndexOf()、replace()、match()、search() 方法来查找和替换字符串中的某些字符。

2.2.1 indexOf() 方法

indexOf() 方法用于查找字符串中某个子字符串的匹配。

var str = "JavaScript字符串";

console.log(str.indexOf("Script")); // 4

console.log(str.indexOf("java")); // -1

如果没找到指定的子字符串,则该方法返回 -1。

2.2.2 lastIndexOf() 方法

lastIndexOf() 方法也是用于查找字符串中某个子字符串的匹配,不同的是 lastIndexOf() 是从字符串的尾部开始查找。

var str = "aaaaabaaaa";

console.log(str.lastIndexOf("a")); // 9

console.log(str.lastIndexOf("b")); // 5

如果没找到指定的子字符串,则该方法返回 -1。

2.2.3 replace() 方法

replace() 方法用于替换字符串中的某个子字符串。

var str = "JavaScript字符串";

console.log(str.replace("字符串", "编程语言")); // "JavaScript编程语言"

该方法接受两个参数,第一个参数是需要被替换的子字符串,第二个参数是用于替换的新字符串。该方法只会替换第一个匹配的子字符串。如果想替换所有匹配的子字符串,可以使用正则表达式。

2.2.4 match() 方法

match() 方法用于在字符串中查找匹配的字符或字符集合。

var str = "JavaScript字符串";

console.log(str.match("Script")); // ["Script"]

console.log(str.match(/[aeiou]/gi)); // ["a","i","a","i"]

match() 方法接受一个参数,可以是正则表达式,也可以是一个字符串。match() 方法返回一个数组,数组中的元素为匹配到的字符或字符集合。

2.2.5 search() 方法

search() 方法用于查找字符串中的指定字符或字符集合并返回其位置。

var str = "JavaScript字符串";

console.log(str.search("Script")); // 4

console.log(str.search(/[aeiou]/)); // 1

该方法接受一个参数,可以是正则表达式,也可以是一个字符串。如果没找到,则返回 -1。

2.3 字符串的大小写转换

我们可以使用 toUpperCase() 和 toLowerCase() 方法将字符串的大小写进行转换。

var str = "JavaScript字符串";

console.log(str.toUpperCase()); // "JAVASCRIPT字符串"

console.log(str.toLowerCase()); // "javascript字符串"

上面两个方法分别将字符串转换为大写和小写,其中 toUpperCase() 方法不会影响原始字符串,而是返回一个新的大写字符串,同理 toLowerCase() 方法也是如此。

2.4 字符串的切割和分割

我们可以使用 split() 方法将一个字符串切分成一个数组,或使用 slice() 方法将一个字符串分割成多个子字符串。

2.4.1 split() 方法

split() 方法用于将字符串分割成一个数组。该函数接受两个参数,第一个参数为字符串分割的基准点(可以是一个正则表达式或一个字符串),第二个参数为数组的最大长度。

var str = "JavaScript字符串";

console.log(str.split("")); // ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t", "字", "符", "串"]

console.log(str.split("字符")); // ["JavaScript", "串"]

2.4.2 slice() 方法

slice() 方法用于将一个字符串分割成多个子字符串。该函数接受两个参数,第一个参数为起始下标,第二个参数为结束下标(不包括该下标对应的字符)。

var str = "JavaScript字符串";

console.log(str.slice(0,4)); // "Java"

console.log(str.slice(4,10)); // "Script"

console.log(str.slice(-6)); // "字符串"

2.5 字符串的去除空格

我们可以使用 trim() 方法去除字符串前后的空格。

var str = " JavaScript 字符串 ";

console.log(str.trim()); // "JavaScript 字符串"

trim() 方法只去除字符串前后的空格,不影响字符串中间的空格。