字符串方法为了方便快捷的操作js中的字符串,所以系统提供了一些专门用于操作字符串的方法
charCodeAt -根据字符串的下标获取到对应的字符串的ASCII码
语法:字符串.charCodeAt(下标) -返回ASCII码(十进制的数字)
var str ='ssdssdas'
console.log( str.charCodeAt(2) );
fromCharCode-根据一个阿斯克码,获取到对应的字符`
语法:String.fromCharCode(阿斯克码) - 返回一个字符`
console.log( String.fromCharCode(100) ); // d
indexOf - 找一个字符或小字符串在大字符串中第一次出现的下标
语法: 字符串.indexOf(字符 / 小字符串) - 返回下标或 - 1
console.log(str.indexOf('cd')); // 2
console.log(str.indexOf('d')); // 3
console.log(str.indexOf('h')); // -1
var str = 'asdfasdfasdf'
console.log(str.indexOf('a', 2)); // 指定从哪个下标开始向后查找
lastIndexOf - 找一个字符或小字符串在大字符串中最后一次出现的下标
语法: 字符串.lastIndexOf(字符 / 小字符串) - 返回下标或 - 1
var str = 'asdfasdfasdf'
console.log(str.lastIndexOf('a')); // 8
console.log(str.lastIndexOf('h')); // -1
console.log(str.lastIndexOf('cd')); // -1
console.log(str.lastIndexOf('as')); // 8
console.log(str.lastIndexOf('as', 7)); // 4
slice - 截取字符串
语法: 字符串.slice(开始下标, 结束下标) - 返回截取出来的小字符串
结果不包含结束下标对应的字符
var str = 'i love you forever'
console.log(str.slice(2, 6)); // love
console.log(str.slice(2)); // 截取到末尾 - love you forever
console.log(str.slice()); // 从开头截取到末尾 - i love you forever
split - 将字符串分割成一个数组
语法: 字符串.split('分割符') - 返回数组
var str = 'i love you forever'
var arr = str.split(' ') // ['i', 'love', 'you', 'forever']
var arr = str.split('') // 每个字符都作为数组的元素了
var arr = str.split() // 将整个字符串作为一个元素放在数组中
var arr = str.split(' ', 3) // 第二个参数表示指定数组的长度
console.log(arr);
案例: 将 'I Love You'
转换成 'You Love I'
var str = 'I Love You'
var arr = str.split(' ')
arr.reverse()
// console.log(arr);
var str1 = arr.join(' ')
console.log(str1);
replace - 将字符串中的指定部分替换成新内容
语法:字符串.replace('被替换的部分', 新内容) - 返回替换后的完整字符串
var str = 'i love you'
// 将字符串中的love换成miss
var str1 = str.replace('love', 'miss')
console.log(str1);
trim - 去除字符串两端的空格
语法:字符串.trim()
var str = ' ab c '
console.log(str);
console.log( str.trim() );
trimLeft - 去除左边空格
var str = ' ab c '
console.log( str.trimLeft() );
trimRight - 去除右边空格
var str = ' ab c '
console.log( str.trimRight() );
toUpperCase - 将字符串中每个字符都转成大写
语法:字符串.toUpperCase()
var str = 'abcd'
console.log( str.toUpperCase() );
toLowerCase - 将字符串中所有字符都转成小写
语法:字符串.toLowerCase()
var str = 'AbCD'
console.log( str.toLowerCase() );
案例:'i love you',将每个单词的首字母转成大写
var str = 'i love you'
var arr = str.split(' ')
console.log(arr);
var brr = arr.map(function(v) {
// console.log(v);
return v[0].toUpperCase() + v.slice(1)
})
console.log(brr);
console.log( brr.join(' ') );
startsWith - 判断字符串是否以某个字符或小字符串开头的
语法:字符串.startsWith(字符/小字符串) - 返回布尔值
var str = 'abcdef'
console.log( str.startsWith('a') ); // true
console.log( str.startsWith('ab') ); // true
console.log( str.startsWith('b') ); // false
endsWith - 判断字符串是否以某个字符或小字符串结尾的
语法:字符串.endsWith(字符/小字符串) - 返回布尔值
console.log( str.endsWith('f') ); // true
console.log( str.endsWith('ef') ); // true
console.log( str.endsWith('e') ); // false
includes - 判断字符串中是否包含某个字符或小字符串
语法:字符串.includes(字符/小字符串) - 返回布尔值
console.log( str.includes('c') ); // true
console.log( str.includes('cd') ); // true
console.log( str.includes('cdd') ); // false
substr - 截取字符串
语法:字符串.substr(开始下标, 截取的长度)
var str = 'i love you'
var str1 = str.slice(2, 6)
var str1 = str.substr(2, 4)
var str1 = str.substr(2) // 省略第二个参数截取到末尾
console.log(str1);
substring - 截取字符串
语法:字符串.substring(开始下标, 结束下标) - 返回的结果不包含结束下标对应的字符
var str1 = str.substring(2, 6)
var str1 = str.substring(2) // 截取到末尾
var str1 = str.substring() // 从开头截取到末尾
console.log( str1 );
3个截取字符串方法的区别
var str = 'i love you'
slice:可以使用负数来表示下标
console.log( str.slice(-8, -4) );
console.log( str.slice(6, 2) ); // 如果开始下标在结束下标右边,就截取到空字符串
substring:不能使用负数表示下标
console.log( str.substring(-8, -4) ); // 空字符串
console.log( str.substring(6, 2) ); // 当开始下标在结束下标的右边,先将两个参数交换位置,然后再截取
substr:他的开始下标,可以使用负数表示
console.log( str.substr(-2) );