基本数据类型-string

概念

通过单引号( '') 、双引号( "")或反引号( ` ) 包裹的数据都叫字符串
作用:用于存储和操作文本

注意 :

  1. 无论单引号或是双引号必须成对使用
  2. 单引号/双引号可以互相嵌套,但是不以自已嵌套自已(口诀:外双内单,或者外单内双)
  3. 必要时可以使用转义符 \,输出单引号或双引号

字符串拼接

  1. 运算符+
console.log('name' + 'song')
  1. 模版字符串
    语法:${变量名}
let name = 'liang'
let song = '勇气'
console.log(`我是${name},我唱的歌曲名为${song}`)

优点:
任意换行
方便嵌入变量

字符串方法

字符串长度

​ 字符串变量名.length

let str = 'The full name of China is the People\'s Republic of China.';
let le = str.length//le = 57
检索字符串中的字符串
  1. indexOf()

    使用语法
    字符串变量名.indexOf('要查询字符串')
    字符串变量名.indexOf('要查询字符串',检索的起始位置)
    返回值
    返回字符串中指定文本首次出现的索引(位置)
    未找到文本,返回 -1

    let pos1 = str.indexOf('China');//pos1 = 17
    let pos2 = str.indexOf('China',18);//pos2 = 51
    let pos3 = str.indexOf('flower');//pos3 = -1
    
  2. lastIndexOf()

    使用语法
    字符串变量名.lastIndexOf('要查询字符串')
    字符串变量名.lastIndexOf('要查询字符串',检索的起始位置)
    方法向后进行检索(从尾到头),这意味着:假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。
    返回值
    返回指定文本在字符串中最后一次出现的索引
    未找到文本,返回 -1

    let pos1 = str.lastIndexOf('China');//pos1 = 51
    let pos2 = str.lastIndexOf('China',50);//pos2 = 17
    let pos3 = str.lastIndexOf('flower');//pos3 = -1
    
  3. search()
    使用语法
    字符串变量名.search('要查询字符串')
    返回值
    返回字符串中指定文本首次出现的索引(位置)
    未找到文本,返回 -1

    let pos1 = str.search('China');//pos1 = 17
    let pos2 = str.search('flower');//pos2 = -1
    
  4. includes()
    使用语法
    字符串变量名.search('要查询字符串')
    字符串变量名.search('要查询字符串',检索的起始位置)
    返回值
    true:返回字符串包含指定值
    false:返回字符串不包含指定值

    let pos1 = str.includes('China');//pos1 = true
    let pos2 = str.includes('flower');//pos2 = false
    
提取部分字符串
  1. slice(开始位置,结束位置) 不包含结束位置

    // slice(开始位置,结束位置) 不包含结束位置
        let str1 = str.slice(0, 5);//str1 = The f
        let str2 = str.slice(1, 2);//str2 = h
    

    如果某个参数为负,则从字符串的结尾开始计数。

    let str1 = str.slice(-6, -1);//str1 = China
    let str2 = str.slice(-2, -1);//str2 = a
    

    负值位置不适用 Internet Explorer 8 及其更早版本。

  2. substring(开始位置,结束位置) 不包含结束位置

    let str1 = str.substring(0, 5);//str1 = The f
    let str2 = str.substring(1, 2);//str2 = h
    

    substring() 类似于 slice()

    不同之处在于 substring() 无法接受负的索引。

  3. slice(开始位置,被提取部分的长度)

     //slice(开始位置,被提取部分的长度)
        let str1 = str.substr(4, 4);//str1 = full
        let str2 = str.substr(1, 2);//str2 = he
    

以上3个语法,如果省略第二个参数,则将裁剪到字符串结尾

替换字符串内容

语法:replace('要替换的内容', '替换成该内容');
作用:用另一个值替换在字符串中指定的值
返回:不会改变调用它的字符串。它返回的是新字符串

    let str = 'I like apple and apple'
    let str1 = str.replace('apple','peach')//I like peach and apple
    let str2 = str.replace(/Apple/i,'peach')//I like peach and apple
    let str3 = str.replace(/apple/g,'peach')//I like peach and peach
    let str4 = str.replace(/Apple/ig,'peach')//I like peach and peach

注意
1.默认地,replace() 只替换首个匹配位置的字符串
2.默认地,replace() 对大小写敏感
解决方案
使用正则表达式 /i(大小写不敏感)
语法: replace(/要替换的内容/i, '替换成该内容');
3.替换所有匹配
用正则表达式的 g 标志(用于全局搜索)
语法: replace(/要替换的内容/g, '替换成该内容');

注意正则表达式不带引号

转换为大写和小写
  1. 把字符串全部转换为大写

    语法: 字符串变量名.toUpperCase()

  2. 把字符串全部转换为小写
    语法:字符串变量名.toLowerCase()

     let str1 = str.toLocaleUpperCase()//I LIKE APPLE AND APPLE
     let str2 = str.toLocaleLowerCase()//i like apple and apple
    
连接两个或多个字符串

​ 语法:字符串1变量名.concat('字符串2','字符串3')

    let str1 = 'My'
    let str2 = 'name'
    let str3 = 'is'
    let str4 = 'happy'
    str = str1.concat(' ',str2,' ',str3,' ',str4)//My name is happy
删除字符串两端的空白符

语法:str.trim()

let str = '      Hellow~~~     '
let str1 = str.trim()//'Hellow~~~ '
let str2 = str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '')//'Hellow~~~ '

Internet Explorer 8 或更低版本不支持 trim() 方法,可搭配正则表达式使用 replace() 方法代替
语法:str.replace(/[1]+|[\s\uFEFF\xA0]+$/g, '')

提取字符串字符
  • str.charAt(position)

    返回字符串中指定下标的字符

  • str.charCodeAt(position)

    方法返回字符串中指定索引的字符 unicode 编码

let str = 'I like apple and apple'
let str1 = str.charAt(0)//'I'
let str2 = str.charCodeAt(0)//73
把字符串转换为数组

语法:string.split('字符串中可做分割的字符')

let string = 'a,b,c,d,e,f'   
console.log(string.split(',')); //(6) ["a", "b", "c", "d", "e", "f"]

扩展-转义字符:\

由于字符串必须由引号包围,当字符串中包含引号时,可能会出错,这是就需要用到转义字符
反斜杠转义字符把特殊字符转换为字符串字符

代码 结果 描述
\' ' 单引号
\" " 双引号
\\ \ 反斜杠

  1. \s\uFEFF\xA0 ↩︎

posted @ 2022-04-28 19:04  丫丫learning  阅读(56)  评论(0编辑  收藏  举报