首页 > 编程笔记 > JavaScript笔记 阅读:5

JavaScript String对象的用法(附带实例)

JavaScript 中的 String 对象用于处理字符串。字符串可以是使用双引号或单引号引起来的一组字符序列,例如 var str = 'hello',也可以使用 String 对象创建。

String 对象的语法格式如下:
new String(s);
参数 s 是要存储在 String 对象中的字符串的值。返回值是一个新创建的 String 对象。

示例如下:
var str = "坚定信心,勇毅前行"; // 字符串直接量
var str2 = new String("坚定信心,勇毅前行");
提示,由于创建字符串对象需要对字符串直接量进行包装,从而有可能拖慢执行速度,因此本书推荐使用字符串直接量处理文本。

String常用属性和方法

1、字符串的常用属性

length 属性返回字符串中的字符数目。示例如下:
var str = "绿水青山,'植'此青绿";
console.log(str.length); // 输出:11

2、字符串的常用方法

JavaScript 提供了丰富且功能强大的字符串方法,主要包括检索字符串、转换字符串、截取字符串、分割字符串等方法。字符串的常用方法如下表所示。

表:字符串的常用方法
字符串方法分类 方法名
检索 charAt()、charCodeAt()、indexOf()、lastIndexOf()
转换 toUpperCase()、toLowerCase()、trim()
截取 substring()、substr()、slice()
分割 split()

1) charAt() 方法返回指定位置的字符,语法格式如下:
stringObject.charAt(index)

示例如下:
var str = '"两个奥运"精彩答卷彰显中国贡献';
console.log(str.charAt(3)); // 输出:奥

2) charCodeAt() 方法返回指定位置的字符的 Unicode 编码,语法格式如下:
stringObject.charCodeAt(index)

示例如下:
var str = '"两个奥运"精彩答卷彰显中国贡献';
console.log(str.charCodeAt(3)); // 输出:22885

3) indexOf() 方法返回某个指定的字符串值在字符串中首次出现的位置,语法格式如下:
stringObject.indexOf(searchvalue,fromindex)

示例如下:
var str = '"两个奥运"精彩答卷彰显中国贡献';
console.log(str.indexOf('奥')); // 输出:3

【实例】查找字符串中某字符出现的次数。
var str = '兑现"两个奥运"同样精彩"的庄严承诺—北京冬奥组委总结冬残奥会';
var index = str.indexOf('奥');
var num = 0;
while (index !== -1) {
    num++;
    index = str.indexOf('奥', index + 1);
}
console.log('"奥"出现的次数是:' + num);
程序定义了字符串变量 str,使用 indexOf() 方法检索字符“奥”出现的次数。由于 indexOf() 方法只返回第一个匹配项,因此使用 while 循环遍历整个字符串,直到 indexOf() 方法返回“-1”结束循环。

程序在 Chrome 浏览器控制台中的运行结果为:

"奥"出现的次数是:3


4) lastIndexOf() 方法返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。语法格式如下:
stringObject.lastIndexOf(searchvalue,fromindex)

示例如下:
var str2 = '兑现"两个奥运、同样精彩"的庄严承诺—北京冬奥组委总结冬残奥会';
console.log(str2.lastIndexOf('奥')); // 输出:29

提示,indexOf() 和 lastIndexOf() 都对英文字母大小写敏感。


5) toUpperCase() 和 toLowerCase() 方法分别用于把英文字符串转换为大写和小写。示例如下:
var str = "Hello World!";
console.log(str.toUpperCase()); // 输出:HELLO WORLD!
console.log(str.toLowerCase()); // 输出:hello world!

6) trim() 方法从一个字符串的两端删除空白字符。示例如下:
var str = '   Hello world!   ';
console.log(str.trim()); // 输出:'Hello world!'

7) substring() 方法用于提取字符串中介于两个指定下标之间的字符。语法格式如下:
stringObject.substring(start,stop)

示例如下:
var str = "奋进新征程 建功新时代";
console.log(str.substring(3)); // 输出:征程 建功新时代
console.log(str.substring(1, 4)); // 输出:奋进新

8) slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。语法格式如下:
stringObject.slice(start,end)

示例如下:
var str = "奋进新征程 建功新时代";
console.log(str.slice(6)); // 输出:建功新时代
console.log(str.slice(6, 9)); // 输出:建功新
console.log(str.slice(-6, -1)); // 输出:建功新时代

9) substr() 方法可提取字符串的某个部分,并返回提取部分的字符串。语法格式如下:
stringObject.substr(start, length)

示例如下:
var str = "奋进新征程 建功新时代";
console.log(str.substr(1, 4)); // 输出:进新征程
console.log(str.substr(2));    // 输出:新征程 建功新时代
console.log(str.substr(-5, -5)); // 输出:建功新时代

10) split() 方法把一个字符串分割成字符串数组。语法格式如下:
stringObject.split(separator,howmany)

示例如下:
var str = "How-are-you";
console.log(str.split("-")); // 输出:['How', 'are', 'you']
console.log(str.split("")); // 输出:['H', 'o', 'w', '-', 'a', 'r', 'e', '-', 'y', 'o', 'u']
console.log(str.split("-", 2)); // 输出:['How', 'are']

【实例】将字符串“i-love-you”转换成驼峰命名法“iLoveYou”
var str = "i-love-you";
var arr = str.split('-');
for (var i = 1; i < arr.length; i++) {
    arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);
}
console.log(arr.join(' '));
程序定义了一个字符串变量 str,首先使用 split() 方法以“-”分割得到字符串数组 ['i','love','you'];然后将数组中的从第 2 个元素开始的单词首字母大写;最后调用数组方法 join(),将数组转换为字符串。

程序在 Chrome 浏览器控制台中的运行结果为:

iLoveYou

相关文章