字符串操作

1. 大小写转换

toUpperCase():把字符串中的全部字母转换为大写
toLowerCase:把字符串中的全部字母转换为小写

let str="Hello World";
//把字符串转换为大写,输出HELLO WORLD
console.log(str.toUpperCase());

//字符串转换为小写,输出hello world
console.log(str.toLowerCase());

2. 提取字符串

charAt(index):提取指定下标位置的字符

let str="Hello World";
//提取指定下标1位置的字符
let char=str.charAt(1);
console.log(char);  // e

substring(start,end):提取字符串指定开始位置(包含)和结束位置(不包含)之间的字符

  • start : 必填项,开始位置,从0开始
  • end : 可选项,结束位置
  • 如果start与end值相等,则返回空字符串""
  • 如果start比end大,则先把start与end交换,再进行提取
  • 如果不填写end参数,则默认截取start到字符串末尾之间的字符
  • 如果start和end参数为负数会转换为0
let str="Hello World";
//提取[1,3)之间的字符
console.log(str.substring(1,3))  // el

// 不填写end参数默认截取到字符串末尾
console.log(str.substring(1));   // ello World

// start和end参数如果填写负数会转换为0
console.log(str.substring(-2));  // Hello World

substr(start,length):提取字符串指定开始位置(包含)提取指定长度的字符

  • start :必填项, 开始位置,从0开始,如果值为负数,则以距离右边start个字符为开始位置
  • length :可选项, 要提取字符长度,不能为负数
  • 如果不填写length参数,则默认截取start到字符串末尾之间的字符
let str = "Hello World";
//从下标1开始位置截取3个字符
console.log(str.substr(1, 3));   // ell

//以距离右边5个字符为开始位置截取3个字符
console.log(str.substr(-5, 3));  // Wor 

// 截取[3,末尾]之间的字符
console.log(str.substr(3));  // lo World

slice(start,end):提取字符串指定开始位置(包含)和结束位置(不包含)之间的字符

  • start : 必填项, 开始位置,从0开始,如果值为负数,则以距离右边start个字符为开始位置
  • end : 可选项,结束位置,如果值为负数,则以距离右边end个字符为开始位置
  • 如果不填写end参数,则默认截取start到字符串末尾之间的字符
        let str = "Hello World";
        
        //提取字符串[1,3)之间的字符,
        console.log(str.slice(1,3));  // el

        //提取以距离字符串右边5个字符为开始位置、以距离字符串右边1个字符为结束位置之间的字符串
        console.log(str.slice(-5,-1));  // Worl

        //作用跟上面一样
        console.log(str.slice(str.length-5,str.length-1));  // Worl

        //截取[3,末尾]之间的字符
        console.log(str.slice(3));  // lo World

3. 字符串查找

indexOf(str):在原字符串中从左到右查找目标字符串所在的下标位置,查找成功返回下标,失败返回-1

lastIndexOf(str):在原字符串右从左到右查找目标字符串所在的下标位置,查找成功返回下标,失败返回-1

        let str = "ten pen";
        //从左到右查找"en"的下标位置
        console.log(str.indexOf("en"));   // 1

        //从右到左查找"en"的下标位置
        console.log(str.lastIndexOf("en"));   // 5

        // 查找不存在的字符串
        console.log(str.indexOf("a"));   // -1

		let str="###截止日期【2021-3-25】截止日期###";
		console.log(str.indexOf("###截止日期"));   // 0

4. 拼接字符串

concat(str):拼接字符串

        let str1="Hello";
        // 使用加号拼接字符串
        console.log(str1+" World");
        // 使用concat拼接字符串
        console.log(str1.concat(" World"));

5. 分割字符串

split(separator,count):使用分割符分割字符串,并返回字串数组

  • separator : 分隔符,可以是一个正则表达式
  • count : 可选项,进行分割的次数,返回数组的元素的个数
  • 如果不填写count参数或者count为负数,默认分割整个字符串,不限制返回字串数组的元素个数
        let str = "one|tow|three|four";

        //使用|对整个字符串进行分割,不限制返回字串的数量
        //输出:["one","two","three","four"]
        console.log(str.split('|'));

        //使用|对字符串进行分割,限制只需返回2个子串
        //输出:["one","two"]
        console.log(str.split('|', 2));

6. 正则表达式查找与替换

search(正则表达式):使用正则表达式在字符串中从左到右查找,并返回第一个匹配结果,查找成功返回下标,失败返回-1

        let str = "ten pen then";

        //使用正则表达式从左到右查找en
        console.log(str.search(/en/));  // 1

replace(正则表达式或字符串,用于替换的字符串):使用正则表达式替换字符串中匹配的结果

        let str = "ten pen then";

        // 使用正则表达式替换字符串中的第一个en
        console.log(str.replace(/en/,"xy"));  // txy pen then
        // 作用同上
        console.log(str.replace("en","xy"));  // txy pen then

        //使用正则表达式替换字符串中的所有en
        console.log(str.replace(/en/g,"xy")); // txy pxy thxy

match(正则表达式):使用正则表达式查找字符串中匹配的子字符串,返回多个匹配结果的字符串数组

  • 正则表达式如果带g,则可能匹配多个结果的数组,数组中每个元素就是匹配的结果;如果不带g,最多只能返回一个结果,数组的元素右匹配值、index、input、groups组成
        let str = "ten pen then";
        
        // 使用正则表示查找第一个以en结尾的单词
        console.log(str.match(/\w+en/));  // ['ten', index: 0, input: 'ten pen then', groups: undefined]

        //使用正则表示查找所有以en结尾的单词
        console.log(str.match(/\w+en/g));   // ["ten","pen","then"]

matchAll(正则表达式):使用正则表达式查找字符串中匹配的子字符串,返回的是一个迭代器

  • 正则表达式必须带g,否则会报错
  • 遍历迭代器用for of
	let str = "ten pen then";
	
 // 使用正则表示查找所有以en结尾的单词,返回一个迭代器
    let iterator=str.matchAll(/\w+en/g);
    for (const iter of iterator) {
        /*
            ['ten', index: 0, input: 'ten pen then', groups: undefined]
            ['ten', index: 4, input: 'ten pen then', groups: undefined]
            ['ten', index: 8, input: 'ten pen then', groups: undefined]
        */
        console.log(iter);
    }

7. 清除字符串两端空格

trim():清除字符串两端空格

        let str="  Hello World  "
        console.log(str.trim());  // Hello World

8. 字符串判断(ES6)

includes(str,position):从指定下标位置开始查找查找原字符串中是否包含字符串,存在返回true,否则返回false

  • position:可选项,从指定下标位置开始查找,如果不填写该参数,默认不限制下标位置
        let str="Hello World";
        console.log(str.includes('ll'));  // true
        console.log(str.includes('ll',6));  // false
        console.log(str.includes('or',6));   // true


startsWith(str,position):从指定左边下标位置开始查找是否以指定子字符串开头,是则返回true,否则返回false

  • position:可选项,从指定下标位置开始查找,如果不填写该参数,默认为0
        let str="Hello World";
        console.log(str.startsWith('He'));    // true
        console.log(str.startsWith('He',3));  // false
        console.log(str.startsWith('lo',3));  // true
        
		let str="deadline2013-5-8deadline";
		console.log(str.startsWith("deadline"));   // true
		console.log(str.startsWith("deadline",10));   // false

endsWith(str,position):从指定0~结束下标位置之间查找是否以指定子字符串开头,是则返回true,否则返回false

  • position:可选项,从0~position之间查找,如果不填写该参数,默认从整个原字符串中查找
  • 注意:includes与startsWith的position是开始下标位置,而endsWith的position是结束下标位置
        let str="Hello World";
        // 在"Hello World"中查找
        console.log(str.endsWith('ld'));    // true
        // 在"Hel"中查找
        console.log(str.endsWith('ld',3));  // false
        // 在"Hel"中查找
        console.log(str.endsWith('el',3));  // true
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值