一、字符串转换
在JavaScript中,有许多方法可以将其他数据类型转换为字符串。
首先是将数字转换为字符串。可以使用Number对象的toString()方法或简单地将数字与空字符串连接。例如:
let num = 123; let str1 = num.toString(); let str2 = num + '';
其次是将日期转换为字符串。可以使用Date对象的toLocaleString()方法或toString()方法获取日期的字符串表示。例如:
let date = new Date(); let str1 = date.toLocaleString(); let str2 = date.toString();
另外,可以使用JSON.stringify()方法将JSON对象转换为字符串。例如:
let obj = { name: 'John', age: 30 }; let str = JSON.stringify(obj);
二、字符串操作
JS提供了许多对字符串进行操作的方法,以下是其中的一些示例。
1、连接字符串
可以使用concat()方法或加号运算符连接两个或多个字符串。例如:
let str1 = 'Hello'; let str2 = 'World'; let str3 = str1.concat(' ', str2); let str4 = str1 + ' ' + str2;
2、分割字符串
可以使用split()方法将字符串按照指定的分隔符分割为一个字符串数组。例如:
let str = 'Hello World'; let arr1 = str.split(' '); let arr2 = str.split('');
3、截取字符串
可以使用substring()方法、slice()方法或substr()方法截取字符串的一部分。例如:
let str = 'Hello World'; let sub1 = str.substring(6); let sub2 = str.slice(6); let sub3 = str.substr(6); let sub4 = str.substring(0, 5); let sub5 = str.slice(0, 5); let sub6 = str.substr(0, 5);
注意:substring()方法和slice()方法的第二个参数是截止位置,而substr()方法的第二个参数是截取的字符数。
三、正则表达式匹配
在JS中,可以使用正则表达式进行字符串匹配。
1、test()方法
test()方法用于测试字符串是否匹配指定的正则表达式,返回布尔值。例如:
let str1 = 'Hello World'; let str2 = 'Goodbye World'; let pattern = /Hello/; let result1 = pattern.test(str1); // true let result2 = pattern.test(str2); // false
2、match()方法
match()方法用于取得字符串中与指定的正则表达式匹配的部分,返回一个包含匹配结果的数组。例如:
let str = 'The rain in Spain falls mainly in the plain'; let pattern = /ain/g; let result = str.match(pattern); // ['ain', 'ain', 'ain', 'ain']
3、replace()方法
replace()方法用于将字符串中与指定的正则表达式匹配的部分替换为指定的字符串,返回替换后的新字符串。例如:
let str = 'Visit Microsoft!'; let pattern = /Microsoft/; let newstr = str.replace(pattern, 'Google');
四、其他方法
以下是一些其他常用的字符串方法。
1、trim()方法
trim()方法用于去除字符串两端的空格。例如:
let str = ' Hello World! '; let newstr = str.trim();
2、charAt()方法和charCodeAt()方法
charAt()方法用于获取字符串中指定位置的字符,charCodeAt()方法用于获取该字符的Unicode编码值。例如:
let str = 'Hello World'; let char1 = str.charAt(1); let code1 = str.charCodeAt(1);
3、toLowerCase()方法和toUpperCase()方法
toLowerCase()方法用于将字符串中所有的字符转换为小写字母,toUpperCase()方法用于将字符串中所有的字符转换为大写字母。例如:
let str1 = 'Hello World'; let str2 = str1.toLowerCase(); let str3 = str1.toUpperCase();
4、indexOf()方法和lastIndexOf()方法
indexOf()方法用于获取字符串中指定子串第一次出现的位置,lastIndexOf()方法用于获取字符串中指定子串最后一次出现的位置。如果未找到子串,则返回-1。例如:
let str = 'Hello World'; let index1 = str.indexOf('o'); let index2 = str.lastIndexOf('o');
完整代码示例
// 数字转换为字符串 let num = 123; let str1 = num.toString(); let str2 = num + ''; // 日期转换为字符串 let date = new Date(); let str3 = date.toLocaleString(); let str4 = date.toString(); // JSON对象转换为字符串 let obj = { name: 'John', age: 30 }; let str5 = JSON.stringify(obj); // 连接字符串 let str6 = 'Hello'.concat(' ', 'World'); let str7 = 'Hello' + ' ' + 'World'; // 分割字符串 let str8 = 'Hello World'; let arr1 = str8.split(' '); let arr2 = str8.split(''); // 截取字符串 let str9 = 'Hello World'; let sub1 = str9.substring(6); let sub2 = str9.slice(6); let sub3 = str9.substr(6); let sub4 = str9.substring(0, 5); let sub5 = str9.slice(0, 5); let sub6 = str9.substr(0, 5); // 正则表达式匹配 let str10 = 'The rain in Spain falls mainly in the plain'; let pattern = /ain/g; let result1 = pattern.test(str10); // true let result2 = str10.match(pattern); // ['ain', 'ain', 'ain', 'ain'] let newstr = str10.replace(pattern, '123'); // 去除字符串两端的空格 let str11 = ' Hello World! '; let newstr2 = str11.trim(); // 获取指定位置的字符 let str12 = 'Hello World'; let char1 = str12.charAt(1); let code1 = str12.charCodeAt(1); // 将字符串转换为小写字母或大写字母 let str13 = 'Hello World'; let str14 = str13.toLowerCase(); let str15 = str13.toUpperCase(); // 获取指定子串的位置 let str16 = 'Hello World'; let index1 = str16.indexOf('o'); let index2 = str16.lastIndexOf('o');