postpass js中字符串处理技巧 – 个人博客

js中字符串处理技巧

//在现代浏览器中,字符串可以直接当作数组处理
var str = "0123456";
console.log(str[1]) // 1

//使用转义字符添加引号
var x = 'It\'s alright';
var y = "He is called \"Johnny\"";

//使用length属性计算字符串的长度
var str = "123";
console.log(str.length) // 3

关于使用 new String()

var x = "John";
var y = new String("John");
typeof x // 返回 String
typeof y // 返回 Object
(x == y) //结果为true
(x === y) // 结果为 false,因为 x 是字符串,y 是对象
不要创建 String 对象。它会拖慢执行速度,并可能产生其他副作用

字符串方法

方法描述
charAt()返回指定索引位置的字符
charCodeAt()返回指定索引位置字符的 Unicode 值
concat()连接两个或多个字符串,返回连接后的字符串
fromCharCode()将 Unicode 转换为字符串
indexOf()返回字符串中检索指定字符第一次出现的位置
lastIndexOf()返回字符串中检索指定字符最后一次出现的位置
localeCompare()用本地特定的顺序来比较两个字符串
match()找到一个或多个正则表达式的匹配
replace()替换与正则表达式匹配的子串
search()检索与正则表达式相匹配的值
slice()提取字符串的片断,并在新的字符串中返回被提取的部分
split()把字符串分割为子字符串数组
substr()从起始索引号提取字符串中指定数目的字符
substring()提取字符串中两个指定的索引号之间的字符
toLocaleLowerCase()根据主机的语言环境把字符串转换为小写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLocaleUpperCase()根据主机的语言环境把字符串转换为大写,只有几种语言(如土耳其语)具有地方特有的大小写映射
toLowerCase()把字符串转换为小写
toString()返回字符串对象值
toUpperCase()把字符串转换为大写
trim()移除字符串首尾空白
valueOf()返回某个字符串对象的原始值

1、str.match(searchvalue/regexp)

传入字符串返回第一个符合条件的下标及详情

const str = "hello world!"
console.log(str.match('l'))

传入正则表达式返回第一个符合条件的下标及详情同上,加g则查全部符合条件的数组

var str="Hello world!"
console.log(/l/);
console.log(str.match(/l/g)) //["l", "l", "l"]

通常可以通过判断返回值判断元素是否存在及其位置

2、str.search(searchvalue/regexp)

用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。

var str = "Visit Runoob!"; 
var n1 = str.search(/Runoob/i); //6
var n2 = str.search("Runoob");  //6

3、str.replace()

用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

var str = "Microsoft ware";
var txt1 = str.replace(/microsoft/i,"Runoob");
var txt2 = str.replace("Microsoft","Runoob");

标签

发表评论