String对象

99 阅读2分钟

1.获取字符串中的单个字符(类似数组): String[下标]

let str1 = '你好,未来可期'
console.log(str[4])//来
for (let i = 0; i < str.length; i++) {
    console.log(str[i])
}

2.检查某个字符在不在字符串中: String.indexof('查询的字符')

//在: 返回首字符下标  不在: 返回 -1
let str='编程不仅仅是技术,更是艺术!'
console.log(str.indexOf('技术'))//6
console.log(str.indexOf('技艺'))//-1

3.替换字符串中的字符: String.replace('旧字符','新字符')

let str='吃饭,睡觉,打豆豆'
console.log(str.replace('打豆豆','敲代码'))//吃饭,睡觉,敲代码
console.log(str.replace('睡觉',''))//吃饭,,打豆豆
console.log(str)//吃饭,睡觉,打豆豆

4.切割字符串: String.split('分隔符')

let str = 'http://www.baidu.com?name=张三&age=18'
console.log(str.split('?'))//[ 'http://www.baidu.com', 'name=张三&age=18' ]
console.log(str.split('='))//[ 'http://www.baidu.com?name', '张三&age', '18' ]
console.log(str)//http://www.baidu.com?name=张三&age=18

5.截取字符: String.substr(起始下标,截取数量)

let str='人生若只如初见,何事秋风悲画扇'
console.log(str.substr(5,2))//初见
console.log(str.substr(10,2))//秋风
console.log(str)//人生若只如初见,何事秋风悲画扇

6.截取字符: String.slice('起始下标','结束下标')

//包左不包右
str = '世人慌慌张张'
console.log(str.slice(2, 3))//慌
console.log(str.slice(2, 4))//慌慌
console.log(str.slice(2))//慌慌张张
console.log(str)//世人慌慌张张

7.把字母转换成大写: String.toLocaleUpperCase()

let str='aBcdEfAb'
console.log(str.toLocaleUpperCase())//ABCDEFAB

8.把字母转换成小写: String.toLocaleLowerCase()

console.log(str.toLocaleLowerCase())//abcdefab

9.封装一个大小写函数,首字母大写,其余小写

function setCase(str) {
    const str1 = str[0].toLocaleUpperCase()
    let str2 = str.slice(1).toLocaleLowerCase()
    return str1 + str2
}
console.log(setCase('aBcdEfAb'))//Abcdefab
function setCase(str) {
    const str1 = str[0].toUpperCase()
    let str2 = str.slice(1).toLowerCase()
    return str1 + str2
}
console.log(setCase('aBcdEfAb'))//Abcdefab

10.在字符串开头加东西 String.padStart(字符串最终长度,开头增加的内容)

let str = '123'
console.log(str.padStart(4, 0))//0123
console.log(str.padStart(5, 0))//00123
console.log(str.padStart(3, 0))//123
console.log(str.padStart(2, 0))//123
console.log(str.padStart(4, 1))//1123
console.log(str.padStart(4, 12))//1231
console.log(str.padStart(4, 'a'))//a123

11.在字符串末尾加东西 String.padEnd(字符串最终长度,末尾增加的内容)

 let str = '123'
 console.log(str.padEnd(5, 0))//12300
 console.log(str.padEnd(5, 12))//12312
 console.log(str.padEnd(5, 123))//12312
 console.log(str.padEnd(3, 123))//123
 console.log(str.padEnd(5, '你好'))//123你好

12.给数字加千位分隔符(正则)

let num = '12345678'
let reg = /(?=\B(\d{3})+$)/g
console.log(num.replace(reg,",")) //12,345,678