JS-字符串的用法

403 阅读1分钟

字符串写法

* 双引号、单引号、``符号

let str1 = 'hello'
let str2 = "world" 
let str3 = `饥人谷培养有灵魂的工程师`

* 长字符串写法

let longStr1 = 'hello' +
                       'world' 
let longStr2= `饥人谷            
                      培养有灵魂的工程师`
let longStr3 = '饥人谷\            
                       培养有灵魂的工程师' 
  • 加号拼接
  • 转义掉最后面的换行符
  • 长字符串

转义字符

* 展示特殊字符

let str1 = 'He says: \'hello!\'' 
let str2 = "C:\\games\\war3\\" 
let str3 = `饥人谷\n培养有灵魂的工程师`

字符串

* 字符串模板

   `xxx${变量}yyy`
let name = '饥人谷', age = 5 
let str = `欢迎来到${name},我已经${age}岁了` 
console.log(str) 

字符串方法

* 长度计算、字符串拼接

let str = "hello" 
console.log( str.length ) 
console.log( str[0] ) 
console.log( str[str.length - 1]  )
 console.log( str.charAt(0) ) 
console.log( str.charCodeAt(0) ) 

let str2 = "world"
 let str3 = str1 + " " + str2 
cosnole.log( str3 )
 let str4 = `${str} ${str2}` 
console.log(str4)
let str5 = str.concat(str2) 
console.log(str5)

* 字符串查找

let str = "Hello jirengu, hello world"
str.search('el')      // 1
str.indexOf('el')     // 1 
str.lastIndexOf('el') //16 
str.indexOf('饥人谷')  // -1 
str.includes('el')    // true 
str.startsWith('He')  // false 
str.endsWith('ld')   // true

* 字符串截取

字符串操作不会修改原来的字符串

let str = "hello world" 

// 第一个是开始位置,下标从0开始, 第二个是长度,结果是 ell 
let sub1 = str.substr(1, 3)

 // 第一个是开始位置,第二个是结束位置(不包含),结果是  el
 let sub2 = str.substring(1, 3)

 // 同上 允许负参
 let sub3 = str.slice(1, 3)  

* 字符串其他处理

字符串操作不会修改原来的字符串

let str = "hello" 
str.split('') //分割字符串成数组,也可以用其他字符分割 ["h", "e", "l", "l", "o"] 

str = '  hello  ' 
let str2 = str.trim()   // 去掉两边的空白字符,结果是'hello'
let str3 = str.trimLeft() // 去掉左边的空白字符, 结果是'hello  ' 

let str4 = str.toUpperCase() //变成大写 '  HELLO  ' 
let str5 = str.toLowerCase()  //变成小写 

str = 'abcd' 
let str6 = str.padStart(8, '*')  //填充字符串 '****abcd'  

小练习

• 对于如下字符串,获取URL

let str = '<a href="https://developer.mozilla.org/zhCN/docs/Web/JavaScript">MDN</a>' 

let start = str.indexOf('"') + 1 // 包含字符串"" 所以要加1位截取
let end = str.lastIndexOf('"') // 不包含字符串""
let result = str.substring(start, end) 
console.log(result)