ES6 字符串(string)方法

ES6为字符串增加了新的方法,如includes()用于检查字符串是否包含特定字符,startsWith()和endsWith()分别判断字符是否位于字符串开头和结尾。此外,repeat()方法重复字符串并返回新字符串,padStart()和padEnd()用于在字符串头部或尾部填充指定字符以达到特定长度。trimStart()和trimEnd()则用于去除字符串的首尾空格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

字符串(string)方法的扩展

1.includes() 返回的是布尔值 判断是否存在该字符

let str = "hello";
console.log(str.includes("h"));//true
console.log(str.includes("y"));//true

2 .startsWith() 返回布尔值判断字符是否出现在原字符串的头部

let str1 = "hello";
 console.log(str1.startsWith("h")); //true
 console.log(str1.startsWith("y")); //false

3 .endsWith() 返回布尔值 判断字符是否出现在原字符串的末尾

 let str2 = "hello";
console.log(str2.endsWith("h")); //false
console.log(str2.endsWith("y")); //false
console.log(str2.endsWith("o")); //true

4.**repeat ()**返回的是一个新的字符串,表示将原字符串重复n次

let s = '你好';
 console.log(s.repeat(2)); //你好 你好

如果是小数会向下取整:

let s ="你好"
 console.log(s.repeat(2.1)); // 你好 你好
 console.log(s.repeat(2.9)); // 你好 你好
 console.log(s.repeat(0.1)); // ''
 // Infinity和负数会报错-----无效值
 // console.log(str3.repeat(Infinity)); // 报错
   // console.log(str3.repeat(-1));//报错

0到-1之间的小数和NaN等同于0 返回的都是空字符串:

 console.log(str3.repeat(-0)); //''
 console.log(str3.repeat(-0.3)); //''
 console.log(str3.repeat(NaN)); //''

非字符串先转换为数值类型:

 console.log(str3.repeat("12")); //12
 console.log(str3.repeat("A12")); //''
  1. padStart(),padEnd(),如果某个字符串不够指定长度,会在头部或尾部补全。
  let str= '你好'
 console.log(str.padStart(3,'h')); // h你好
 console.log(str.padStart(5,'h')); // hhh你好

原字符串长度>=最大长度,字符串补全不生效,并且返回原字符串:

 let str="你好" 
 console.log(str.padStart(2,'h')); //你好
 console.log(str.padStart(1,'h')); //你好

padStart()常见用途是为数值补全指定位数。下面代码生成 10 位的数值字符串:

  console.log('12'.padStart(10, 'YYYY-MM-DD'));
  console.log('05-18'.padStart(10, '2022-MM-DD'));
  console.log('2021-05-18'.padStart(10, '2022-MM-DD'));

6.trimStart()消除字符串头部的空格trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

  let s1 = '  abc  ';
  console.log(s1.trim()); // "abc"  trim是ES5的方法,用于清除两边的空格
  console.log(s1.trimStart()); // "abc  "
  console.log(s1.trimEnd());// "  abc"
  console.log(s1);// "  abc  "  原始值不会修改
### ES6字符串替换斜杠的方法ES6处理字符串中的斜杠可以通过多种方式实现,特别是利用模板字符串和`String.raw`方法。 对于简单的情况,如果想要替换字符串内的单个或多个特定斜杠(例如将反斜杠`\`转换成双反斜杠`\\`),可以直接使用`replace()`方法结合正则表达式: ```javascript let originalStr = 'C:\\Users\\Documents'; let replacedStr = originalStr.replace(/\\/g, '\\\\'); console.log(replacedStr); ``` 当涉及到更复杂的场景时,比如保持原样输出包含大量转义字符的字符串,则推荐使用`String.raw`[^3]。此函数允许定义原始字符串字面量,在这些字面量里,所有的反斜杠都被视为普通字符而不是转义序列的一部分。 下面是一个例子展示如何通过`String.raw`来保留并显示原本会被解释为转义字符的内容: ```javascript var textWithEscapes = String.raw`Hello\nWorld`; console.log(textWithEscapes); // 输出: Hello\nWorld 而不是分行打印 ``` 此外,还可以组合使用模板字符串特性和内置的字符串操作API来进行更加灵活多样的字符串处理任务。例如,动态构建路径名而不用担心不同操作系统之间的差异: ```javascript const driveLetter = 'C:'; const folderPath = 'Program Files'; const filePath = `${driveLetter}\\${folderPath}`; // 或者为了跨平台兼容性考虑采用 path 模块 (Node.js环境) if(typeof require === 'function'){ const path = require('path'); let crossPlatformPath = path.join(driveLetter, folderPath); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值