javaScript知识梳理String篇

String既是基本类型数据又是基本包装类型数据,所以初始化它的方法有:

1)var str = 'abcdefg';

2)var str = new String('abcdefg');

可以通过它的length属性知道字符串长度。

常用方法:

(1)toString() 值(除undefined,null)转换字符串

格式:str.toString()

返回字符串

var num = 123;
var arr = [1,2,'s',3,true,false];
function str(){};
var obj={text:'前端'};

num.toString();//'123'
arr.toString();//'1,2,s,3,true,false'
str.toString();//'function str(){}'
obj.toString();//'[object object]'

(2)String() 任意值转换字符串

格式:String(str)

返回字符串

String(undefined);//'undefined'
String(null);//'null'

 ps.使用顺序:如果该值有toString()方法则先用该方法,没有就用String()方法。

(3)charAt() 获取单个字符串

格式:str.charAt(num)  num为字符串下标,num>=0

返回对应下标的字符串

var str = 'abcdefc';
var str1 = str.charAt(3);//返回 d
var str2 = str[3];//返回 d

(4)concat() 拼接字符串

格式:str.concat(str1,str2,...)

返回新拼接字符串

var str = 'hello ';
var str1 = str.concat('world');//'hello world'

ps.这个方法很少用,通常用“+”来连接。被连接的值不是字符串的话,会被隐式转换成字符串类型的值。

(5)slice()、substr()、substring()截取字符串

格式:str.slice(初始位置,终止位置)  如果传入的参数为负数,则字符串下标 = 字符串的长度+负数

   str.substring(初始位置,终止位置)

   str.substr(初始位置,返回字符串个数)

var str = 'abcdefggfec';
var strSlice1 = str.slice(3);//'defggfec'
var strSlice2 = str.slice(3,5);//'de'
var strSlice3 = str.slice(-5);//6  'ggfec'
var strSlice4 = str.slice(-5,8)//6,8 'gg'
var strSlice5 = str.slice(-5,-3)//6,8 'gg'
var str = 'abcdefggfec';
var strSubstring1 = str.substring(3);//'defggfec'
var strSubstring2 = str.substring(3,5);//'de'
var strSubstring3 = str.substring(-5);//abcdefggfec 遇到负数,转为0 返回所有字符串
var strSubstring5= str.substring(-5,8)//0,8 'abcdefgg'
var strSubstring4 = str.substring(-5,-3)// 空白字符串
var str = 'abcdefggfec';
var strSubstr1 = str.substr(3);//'defggfec'
var strSubstr2 = str.substr(3,5);//'defgg'
var strSubstr3 = str.substr(-5);//6  'ggfec'
var strSubstr4 = str.substr(-5,3)//6 'ggf' 从下标6开始返回3个字符串
var strSubstr5 = str.substr(-5,-3)// 空白字符串

(6)indexOf()与lastIndexOf() 查找字符串

格式:str.indexOf('e',num)  str.lastIndexOf('e',num) num是字符串查找起始位置(可传参数)

返回字符串所在位置

区别:indexOf()从字符串开头往后找,lastIndexOf()是从字符串末尾往前找

var str = 'abcdefcb';
str.indexOf('c',3);//6
str.lastIndexOf('c',3);//2

(7)trim() 清除字符串两端空格

 格式:str.trim()

返回新的字符串

var str = '   hello  world  ';
str.trim();//'hello world'; 

(8)字符串大小转换

常规方法:(转小写)toLowerCase(),(转大写)toUpperCase()

针对特定地区:(转小写)toLocaleLowerCase(),(转大写)toLocaleUpperCase()

格式:str.toLowerCase() ...

ps.常规和特定地区的方法实现的效果基本一致,部分地区会有差别。比较建议用特定地区方法

var str = 'hello world';
var STR = 'HELLO WORLD';
SRT.toLowerCase();//hello world
SRT.toLocaleLowerCase();//hello world
str.toUpperCase();//'HELLO WORLD';
str.toLocaleUpperCase();//'HELLO WORLD';

(9)字符串匹配

match()

格式:str.match(正则表达式 || RegExp对象)

返回一个数组

var text ='cat bat sat fat';
var p =/.at/;
var matches = text.match(p)
matches[0];//cat

var p1 =/.at/g;
var matches1 = text.match(p1);//['cat','bat','sat','fat'];

 replace() 替换字符串

格式:str.replace(字符串 || RegExp对象,字符串 || 函数)

返回替换后的字符串

ps.如果第一个参数是字符串,那么只能替换查找到的第一个字符串;如果想替换所有的字符串,则需要用正则表达式

var str = 'bat cat sat fat';
var result = str.replace(/at/g,'ond');//'bond,cond,sond,fond';

var result = str.replace(/(.at)/,'word($1)');//'word(bat) cat sat fat'

var result = str.replace('bat','aat');//'aat cat sat fat'

split() 分隔字符串

格式:str.split(分隔符)

返回一个新数组

var colorText = 'red,blue,green,yellow';
var colors1 = str.split(/[^\,]+/);//["", ",", ",", ",", ""] 使用正则表达式取得包含逗号字符的数组 
var colors2 = str.split(',');//["red", "blue", "green", "yellow"]

 

posted @ 2018-03-15 23:37  就爱啃骨头  阅读(146)  评论(0编辑  收藏  举报