JS-常用-字符串操作方法-汇总

参考链接:blog.csdn.net/carriehaoha…

一、截取对应索引的串

1、针对单个字符

  • charAt获取对应位置的单个字符。

    注意:字符串中第一个字符的下标是 0。如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串。
  • charCodeAt获取对应位置的单个字符在Unicode字符集中的编码值。

    注意:如果该位置没有字符,返回值为NaN

2、针对截取字符区间

  • slice截取字符串(参数:1. 开始索引【必须】,2. 终点索引)
字符串 = str.slice(索引1,索引2); //两个参数都是索引值
//(2,5)  正常包左不包右
//(2)   从指定的索引位置剪到最后
//(-3)   从倒数第几个剪到最后
//(5,2)  前面的大,后面的小,无意义,空
  • substr截取字符串(参数:1. 开始索引【必须】,2. 截取长度)
字符串 = str.substr(参数1,参数2); //1索引值,2长度
// 第一个参数为从索引位置取值,第二个参数返回字符长度
//(2,4)从索引值为2的字符开始,截取4个字符(索引2算一个字符)
//(1)  一个值,从指定位置到最后
//(-3) 从倒数第几个剪到最后
// 不包括前大后小的情况
  • substring同slice
字符串 = str.substring(参数1,参数2); //两个参数都是索引值。
//不同1:参数智能调转位置
//不同2:参数负值,将全部获取字符串
//(2,5)   正常包左不包右
//(2)     从指定的索引位置剪到最后
//(-3)    获取全部字符串
//(5,2)   前面的大,后面的小,不是空,同(2,5),智能调换

二、完整匹配检索 indexof / lastIndexOf

给你原始字符串和目标字符串,返回对应第一次出现的首字母索引。语法是 str.X(‘one’);

  • indexof从前向后,找第一个符合元素的位置
  • lastIndexOf从后向前,寻找第一个符合元素的位置

三、字符串拼接 concat

新字符串 = str1.concat(str2) 连接两个字符串

四、修改副本字符串并返回结果

trim、replace、split、join、大小写

  • trim只能去除字符串前后两端的空白
  • replace 全局查找并替换
  • split 把字符串切割成数组
  • join 把数组转为字符串
  • toLocaleUperCasetoLocaleLowerCase 大小写转换。
var str = " aaa bnn dccc "
console.log(str.trim()); //"aaa bnn dccc"
str = "abc";
console.log(str.replace("a","b"));//"bbc"

str = "我-爱-你";
//若参数为空字符串"",默认用逗号把字符串中的每个元素分隔
console.log(str.split(""));//["我", "-", "爱", "-", "你"]
//若不写参数,整个字符串作为数组的一个元素
console.log(str.split());//["我-爱-你-中-国"]
//分隔完毕之后,使用的字符将不存在数组中
console.log(str.split("-"));//["我", "爱", "你", "中", "国"]

五、uri 编码

URI (Uniform ResourceIdentifiers,通用资源标识符)进行编码,以便发送给浏览器。有效的URI中不能包含某些字符,例如空格。而这URI编码方法就可以对URI进行编码,它们用特殊的UTF-8编码替换所有无效的字符,从而让浏览器能够接受和理解。(它们是BOM下的一个方法,属于window对象)
encodeURIComponent() 函数可把字符串作为 URI 组件进行 编码
decodeURIComponent() 函数可把字符串作为 URI 组件进行 解码

六、特殊情况

1、toLowerCase()和toLocaleLowerCase()

注意:在JavaScript中,toLowerCase()和toLocaleLowerCase()都是用于将字符串中的所有大写字符转换为小写字符。大多数情况下,这两个方法的结果是相同的。但是,它们在处理某些特定语言环境的字符时有所不同。
toLowerCase()方法不考虑语言环境,它仅仅是按照英语的规则进行转换。所以对于某些非英语字符,可能无法正确转换。
而toLocaleLowerCase()方法则考虑了语言环境。例如在土耳其语环境中,大写的”I”在转换为小写时应该是”ı”,而非英语中的”i”。
举例说明:

var str = "I";
console.log(str.toLowerCase()); // 输出 "i"
// (指定土耳其语环境)输出 "ı"
console.log(str.toLocaleLowerCase('tr-TR'));

2、toString()和toLocaleString()

在JavaScript中都是用于将对象转换为字符串表示。但它们在处理某些特定类型的对象时有所不同,尤其是在处理日期和数字类型时。
toString()方法不考虑语言环境,它仅仅是按照通用的规则进行转换
而toLocaleString()方法则考虑了语言环境,它会根据指定的语言环境或浏览器的默认语言环境来格式化输出。这对于日期和数字类型尤为重要,因为不同的语言环境可能有不同的日期格式和数字分隔符。
举例说明:

  1. 日期对象:
var date = new Date();
// 通用的字符串表示 
// 输出 "Wed Sep 22 2021 10:20:30 GMT+0800 (中国标准时间)"
console.log(date.toString()); 
// 指定中文环境时,日期对象被转换为了符合中文习惯的字符串表示
// 输出 "2021/9/22 下午10:20:30"
console.log(date.toLocaleString('zh-CN')); 
  1. 数字对象:
var number = 1234567.89;
// 通用的字符串表示。输出 "1234567.89"
console.log(number.toString());
// 指定美国英语环境时,数字对象被转换为了符合美国英语习惯的字符串表示。
// 即 使用逗号作为千位分隔符
console.log(number.toLocaleString('en-US')); // 输出 "1,234,567.89"

原文链接:https://juejin.cn/post/7342391308614926348 作者:程序员道长

(0)
上一篇 2024年3月5日 下午4:54
下一篇 2024年3月5日 下午5:05

相关推荐

发表回复

登录后才能评论