字符串的操作方法总结

es6 新增操作方法

检索子字符串

  1. 字符串是否包含子串 : str.includes(待判断字符,查找的起始位置)   返回值:有 true ,没有 false    
  2. 判断子串是否在指定位置:str.startsWith(待判断字符,指定位置)   返回值:在指定位置 true ,没有 false
  3. 判断参数字符串是否在原字符串的尾部:str.endsWith(待判断字符,查找的长度)  返回值:如果待判断字符,是查找长度内的最后一个字符,则返回true,否则返回false
let str = "12356";
console.log(str.endsWith(5, 5));   //  fales
console.log(str.endsWith(5, 4));   //   true 
console.log(str.endsWith(5, 3));   //   false

 注意:

  • 这三个方法只返回布尔值,如果需要知道子串的位置,还是得用 indexOf 和 lastIndexOf 。
  • 这三个方法如果传入了正则表达式而不是字符串,会抛出错误。而 indexOf 和 lastIndexOf 这两个方法,它们会将正则表达式转换为字符串并搜索它。

字符串重复:

  • str.repeat(n)    若n = 0,或者无参数 则输出 空字符串,否则,str重复n次
let str = "12356";
console.log(str.repeat(2));   // 1235612356

替换:

  • str.replace(目标字符,替换目标字符的内容);

返回值:被替换后新字符串

注意:不改变原字符串

        var str = "12";
        var str1 = str.replace(2, "456");
        console.log(str); // 12
        console.log(str1); // 1456

 

 字符串补全:

  • str.padStart(参数1,参数2);
  • str.padEnd(参数1,参数2);

注意:如果第二个参数省略,则用  “ ” 空格 补全 

let str = "gjhsdgjas";

// 用参数字符串从头部(左侧)补全原字符串
var str1 = str.padStart(20, '@');
console.log(str1 );   // @@@@@@@@@@@gjhsdgjas


//  参数字符串从尾部(右侧)补全原字符串。
var str2 = str.padEnd(20, '@');
console.log(str2);   // gjhsdgjas@@@@@@@@@@@

 

参数1:最小补全长度(ps:当字符串的长度小于最小补全长度时,补全)

参数2:用来填补长度的字符

 模板字符串:

  • 模板字符串相当于加强版的字符串,用反引号 `,除了作为普通字符串,还可以用来定义多行字符串,还可以在字符串中加入变量和表达式。
var arr = [1, 5, 8];
var str = ` huiashds${arr} `;

function fn() {
    return "545";
}
var str = ` huiashds${fn()} `;

原生js字符串操作方法

字符方法:

  • str.charAt(index);      //  返回指定索引处的字符。索引范围为从 0 到 length- 1。
  • charCodeAt(index);  //  返回指定位置的字符的 Unicode 编码()
  • String.fromCharCode();  //  可接受一个指定的 Unicode 值作为参数,然后返回相应字符

链接两个或多个字符串:

  • str.concat(参数1,参数2,...);

截取字符串:

  • str.slice(start,end);   //  复制从下标 start 开始 到 end(不包含此下标) 结束的字符
  • str.substring(from,to); //  截取 从 from 开始,到 to(不包含此下标) 结束的字符串片段  (ps:参数必须为正数,若 from < to 则两个值交换位置)
  • str.substr(start,length); // 从 start 开始 ,截取长度为 length 的字符串片段

var str = "1234567890";
 
console.log(str.substr(2, 5)); // 34567
console.log(str.substring(9, 5)); // 6789
console.log(str.slice(3, 9)); // 3456789

检索字符串:

  • indexof(searchvaluestart) // 判断字符串是否包含指定的子字符串 , 返回值:指定字符串的下标
  • lastIndexOf(searchvalue,start)   // 方法将从后向前(从start 开始)检索字符串,但返回是从起始位置 (0) 开始计算子字符串最后出现的位置。 看它是否含有字符串
  • search(searchvalue) :方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串

以上前两种方法的返回值:找到,返回指定下标,找不到返回 -1

去除两端空白:

  • str.trim();    //  去除字符串两端的空格

大小写转换方法 :

  • to(Locale)UpperCase() :参数值无。所有小写字符全部被转换为大写字符。
  • to(Locale)LowerCase():参数值无。所有大写字符全部被转换为小写字符。

将一个字符串分割成字符串数组:

  • split(separator,limit):用于把一个字符串分割成字符串数组。
var str = "1234567890";

console.log(str.split()); // ["1234567890"]
console.log(str.split('')); //["1", "2", "3", "4", "5", "6", "7", "8", "9", "0"]
console.log(str.split("1")); //["", "234567890"]
console.log(str.split("5")); // ["1234", "67890"]

 

参数1:(可选)分隔符,字符串或正则表达式,从该参数指定的地方分割

参数2:可选。该参数可指定返回的数组的最大长度

注意:如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值