JS 之 操作 String 字符串

目录

String - JavaScript | MDN

一. 访问字符串字符

二. 字符串遍历

1 -  普通循环

2 - for...of循环

三. 修改字符串

四. toUpperCase : 将所有字符变为大写

五. toLowerCase : 将所有字符变为小写

六. 查找字符串

1 - indexOf ( searchString , fromIndex ) : 查找

2 - includes( searchString , position ) : 查找

3 - startsWith : 以xxx开头

4 - endsWith : 以xxx结尾

七. replace : 替换字符串

八. 获取子字符串 

九. 拼接字符串

1 - + 

2 - concat

十. trim : 删除首尾字符串

十一. split( swparator,limit ) : 字符串分割 


String - JavaScript | MDN

一. 访问字符串字符

const message = 'hello world'

console.log( message[1] ) // e
console.log( message.charAt(4) ) // o

二. 字符串遍历

1 -  普通循环

const message = 'hello world'

for (let i = 0; i < message.length; i++) {
     console.log(message[i])
}

2 - for...of循环

// for..of的遍历 -> 迭代器
// 目前可迭代对象: 字符串/数组
// 对象是不支持for..of
// String对象内部是将字符串变成了一个可迭代对象

for (let char of message) {
  console.log(char)
}

三. 修改字符串

当字符串定义后是不可以修改的,所以当直接操作字符是无效的

let message = "Hello World"

message[2] = "A"
console.log(message) // Hello World. 不会更改的

四. toUpperCase : 将所有字符变为大写

const message = 'hello'

console.log(message.toUpperCase()) // HELLO ,原来的字符串没有更改,而是生成了新的字符串

五. toLowerCase : 将所有字符变为小写

const message = 'HeLLo'

console.log(message.toUpperCase()) // hello,原来的字符串没有更改,而是生成了新的字符串

六. 查找字符串

1 - indexOf ( searchString , fromIndex ) : 查找

  • 情况一: 搜索到, 搜索字符串所在索引位置
  • 情况二: 没有搜索到, 返回-1
const message = 'my name is coder'

let index = message.indexOf('name')
if(index !== -1){
    console.log('找到了')
}else{
    console.log('没找到')
}

2 - includes( searchString , position ) : 查找

const message = 'my name is coder'

if(message.includes('name')){
    console.log('找到了')
}

3 - startsWith : 以xxx开头

const message = 'my name is coder'

if (message.startsWith("my")) {
   console.log("message以my开头")
}

4 - endsWith : 以xxx结尾

const message = 'my name is coder'

if (message.endsWith("coder")) {
   console.log("message以my结尾")
}

七. replace : 替换字符串

  • 查找到对应的字符串,并且使用新的字符串进行替代
  • 也可以传入一个正则表达式来查找,也可以传入一个函数来替换
// 传入字符串
const message = 'my name is star'
let newMessage = message.replace("star", "kobe")
console.log(newMessage) // my name is kobe

// 传入函数
const newName = "kobe"
let newMessage = message.replace("star", function() {
  return newName.toUpperCase()
})
console.log(newMessage) // my name is KOBE

八. 获取子字符串 

const message = "Hello World"

console.log(message.slice(3, 7)) // lo W
console.log(message.slice(3, -1)) // lo Worl
console.log(message.slice(3)) // lo World

console.log(message.substr(3, 7)) // lo Worl

九. 拼接字符串

1 - + 

const str1 = "Hello"
const str2 = "World"
const str3 = "kobe"

const newString = str1 + str2 + str3
console.log(newString)

2 - concat

const str1 = "Hello"
const str2 = "World"
const str3 = "kobe"

// 可链式调用
const newString2 = str1.concat(str2).concat(str3)
// 可同时传入多个值
const newString3 = str1.concat(str2, str3, "abc", "cba")

十. trim : 删除首尾字符串

console.log("    star      abc   ".trim()) // star      abc

十一. split( swparator,limit ) : 字符串分割 

  • separator:以什么字符串进行分割,也可以是一个正则表达式;
  • limit:限制返回片段的数量;
const message = "abc-cba-nba-mba"
// 切割字符为 => -
const items = message.split("-")
console.log(items) // ['abc','cba','nba','mba']
// 通过数组的join方法,可变为字符串 连接字符为 *
const newMessage = items.join("*")
console.log(newMessage) // abc*cba*nba*mba

//-----------------------------------------------

const message = 'abc-cba-nba-mba';
// 返回长度为2的数组
const items = message.split('-', 2);
console.log(items); // ['abc','cba']

猜你喜欢

转载自blog.csdn.net/a15297701931/article/details/125828461