当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript中字符串的常见api操作(偏ES5)

JavaScript中字符串的常见api操作(偏ES5)

2018年10月25日  | 移动技术网IT编程  | 我要评论
1. api简单汇总 1.1 string相关操作汇总 获取字符串长度 str.length 分割字符串 str.split() 拼接字符串 str1+str2 或 str1.concat(str2

1. api简单汇总

1.1 string相关操作汇总

获取字符串长度 str.length
分割字符串 str.split()
拼接字符串 str1+str2 或 str1.concat(str2)
替换字符串 str.replace(“玩游戏”,”好好学习”)
提取子字符串 str.slice(start, end)或str.substring(start,end)或mystr.substr(start,length)
切换字符串大小写 str.tolowercase()和str.touppercase()
比较字符串 str1.localecompare(str2)
匹配字符串 str.match(pattern)或pattern.exec(str)或str.search(pattern)
根据位置查字符 str.charat(index)
根据位置字符unicode编码 str.charcodeat(index)
根据字符查位置 str.indexof(“you”)从左,mystr.lastindexof(“you”)从尾 或str.search(‘you’)
原始数据类型转字符串 string(数据) 或利用加号
字符串转原始数据类型 数字number(”) // 0 布尔boolean(”) // 0
自己构建属性和方法 string.prototype.属性或方法= function(参数){代码}

1.2 api所属大体位置

利用控制台,通过原型链的知识,可以大体知道api在哪些对象里。

2. 字符串类型转换

这里只讨论原始数据类型之间的转换

2.1 原始数据类型转 string

string()
string(123) // "123"
string('abc') // "abc"
string(true) // "true"
string(undefined) // "undefined"
string(null) // "null"

隐式转换 +

2.2 string 转其他类型

数字

number('') // 0 

布尔

boolean('') // 0

3. 字符串分割

一个字符串分割为多个字符串
split()

var mystr = "i,love,you,do,you,love,me";
var substrarray = mystr.split(","); // ["i", "love", "you", "do", "you", "love", "me"];
var arraylimited = mystr.split(",", 3); // ["i", "love", "you"];

split()的第二个参数,表示返回的字符串数组的最大长度。

4. 获取字符串长度

length属性

var mystr = "i,love,you,do,you,love,me";
var mystrlength = mystr.length; //25

5. 查询子字符串

5.1 indexof()

它从字符串的开头开始查找,找到返回对应坐标,找不到返回-1。

var mystr = "i,love,you,do,you,love,me";
var index = mystr.indexof("you"); // 7 ,基于0开始,找不到返回-1

5.2 lastindexof()

它从字符串的末尾开始查找,找到返回对应坐标,找不到返回-1。

var mystr = "i,love,you,do,you,love,me";
var index = mystr.lastindexof("you"); // 14

6. 字符串替换

replace()

var mystr = "i,love,you,do,you,love,me";
var replacedstr = mystr.replace("love","hate");//"i,hate,you,do,you,love,me"

默认只替换第一次查找到的,想要全局替换,需要置上正则全局标识,如:

var mystr = "i,love,you,do,you,love,me";
var replacedstr = mystr.replace(/love/g,"hate");//"i,hate,you,do,you,hate,me"

7. 查找给定位置的字符或其字符编码值

7.1 charat()

可用来获取指定位置的字符串,index为字符串索引值,从0开始到string.leng - 1,若不在这个范围将返回一个空字符串。

var mystr = "i,love,you,do,you,love,me";
var thechar = mystr.charat(8);// "o",同样从0开始

7.2 charcodeat

可返回指定位置的字符的unicode编码。charcodeat()方法与charat()方法类似,都需要传入一个索引值作为参数,区别是前者返回指定位置的字符的编码,而后者返回的是字符子串。

var mystr = "i,love,you,do,you,love,me";
var thechar = mystr.charcodeat(8); //111

8. 字符串连接

8.1 加号 +

var str1 = "i,love,you!";
var str2 = "do,you,love,me?";
var str = str1 + str2 + "yes!";//"i,love,you!do,you,love,me?yes!"

8.2 concat()

var str1 = "i,love,you!";
var str2 = "do,you,love,me?";
var str = str1.concat(str2);//"i,love,you!do,you,love,me?"

其中concat()函数可以有多个参数,传递多个字符串,拼接多个字符串。

9. 字符串提取

9.1 slice()

var mystr = "i,love,you,do,you,love,me";
var substr = mystr.slice(1,5);//",lov"

9.2 substring()

var mystr = "i,love,you,do,you,love,me";
var substr = mystr.substring(1,5); //",lov"

9.3 substr()

var mystr = "i,love,you,do,you,love,me";
var substr = mystr.substr(1,5); //",love"

与第一种和第二种不同的是,substr()第二个参数代表截取的字符串最大长度

10. 字符串大小写转换

tolowercase() touppercase()

var mystr = "i,love,you,do,you,love,me";
var lowcasestr = mystr.tolowercase();//"i,love,you,do,you,love,me";
var upcasestr = mystr.touppercase();//"i,love,you,do,you,love,me"

11. 字符串匹配

11.1 match()结合正则表达式

var mystr = "i,love,you,do,you,love,me";
var pattern = /love/;
var result = mystr.match(pattern);//["love"]
console.log(result .index);//2
console.log(result.input );//i,love,you,do,you,love,me

11.2 exec()结合正则表达式

var mystr = "i,love,you,do,you,love,me";
var pattern = /love/;
var result = pattern .exec(mystr);//["love"]
console.log(result .index);//2
console.log(result.input );//i,love,you,do,you,love,me

两个方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null。

11.3 search()结合正则表达式

var mystr = "i,love,you,do,you,love,me";
var pattern = /love/;
var result = mystr.search(pattern);//2

仅返回查到的匹配的下标,如果匹配失败则返回-1。

12. 字符串比较

localecompare()

var mystr = "chicken";
var mystrtwo = "egg";
var first = mystr.localecompare(mystrtwo); // -1
first = mystr.localecompare("chicken"); // 0
first = mystr.localecompare("apple"); // 1

比较两个字符串,比较是规则是按照字母表顺序比较的

13. 自己扩展属性和方法

prototype属性
下面的代码给字符串添加了一个去除两边空格的方法

string.prototype.trim = function(){
    return this.replace(/^\s*|\s*$/g, '');
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网