js常见字符串操做方法

1、字符串方法正则表达式

一、字符串转换:
将一个值转换成一个字符串有两种方法,一是使用 toString() 方法,二是使用转型函数 String()
(1)、大多值都有toString()方法,null和undefined是没有的。数组

(2)、对于字符串型的值也可使用toString()方法,它会返回该字符串的一个副本。函数

(3)、toString()方法能够传递一个参数,表示数值的基数(进制)。编码

var t = 8;  
 t.toString(2);  //1000

默认状况下 参数是10。要说明的是对于非数值类型(boolean,string等)设置toString()的参数是无效的code

var t ="8";  
t.toString(2);  //8, 返回字符串的副本;

(4)、任何值均可以使用String()方法。它的过程是这样的regexp

    首先,若是值有toString()方法,那么则使用该方法(无参数)。对象

    其次,那就是该值没有toString()方法,那就是 null 返回 "null",undefined返回"undefined";
   字符串

var a=null;  
String(a);    //"null"

二、字符串分割:
字符串分割,将一个字符串按照某种方式分割成字符串数组,使用 split(separator,howmany) 方法,
第一个参数必需,,为字符串或正则表达式,从该参数指定的地方分割字符串;
第二个参数可选,可指定返回的数组的最大长度input

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"];

三、获取字符串长度
获取字符串长度,直接使用 str.length 属性string

var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25

四、查询子字符串
查询子字符串,可使用 indexOf()lastIndexOf() 方法
(1)indexOf():从字符串的第一个字符位置开始查找,找到后返回对应下标,找不到返回 -1 ;

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("Love"); // 2 ,基于0开始,找不到返回-1,区分大小写

(2)lastIndexOf():从字符串的末尾开始查找,找到最后出现指定字符串的位置后返回对应下标,找不到返回 -1 ;

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14 //区分大小写

五、字符串替换
替换字符串,使用 strObj.replace(regexp/substr,replacement) 方法,
第一个参数必需,规定要匹配的正则对象,
第二个参数必需,规定了替换文本或生成替换文本的函数。

var myStr = "I,Love,you,Do,you,love,me";
 var replacedStr = myStr.replace(/love/g,"hate");//"I,Love,you,Do,you,hate,me",全局匹配(g)
var myStr = "I,Love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");//"I,hate,you,Do,you,hate,me",忽略大小写(i)

六、查找给定位置的字符或其字符编码值
想要查找给定位置的字符,你可使用以下函数:

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",一样从0开始

一样,它的一个兄弟函数就是查找对应位置的字符编码值,如:

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111

七、字符串拼接
字符串链接操做能够简单到用一个加法运算符搞定,如:

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";//"I,love,you!Do,you,love,me?Yes!"

使用js自带 strObj1.concat(strObj2) 方法也可实现

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

八、字符串切割和提取
有三种方法可实现,分别为:
(1)、strObj.slice(satrt,end):第一个参数必需,要提取字符串的起始下标。若是为负数的话,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推,第二个参数可选,与strObj.substring()相似。

var myStr = "I,love,you,Do,you,love,me";
 var subStr = myStr.slice(1,5);//",lov"

(2)、strObj.substring(start,end):第一个参数必需,不能为负数,提取字符串初始位置,第二个参数可选,strObj[end]不提取。

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov";

(3)、strObj,substr(start,length):第一个参数必需,提取字符串的初始位置,第二个参数可选,表示提取字符串长度,不写的话默认提取到字符串末尾。

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"

九、字符串大小写转换
经常使用的转换为大写或者小写字符串函数,以下:

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"

十、字符串匹配

字符串匹配可能须要你对正则表达式有必定的了解,先来看看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
如你所见,match()函数在字符串上调用,而且接受一个正则的参数。来看看第二个例子,使用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
简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个
方法,匹配的结果都是返回第一个匹配成功的字符串,若是匹配失败则返回null.

再来看一个相似的方法search(),如:
var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2
仅返回查到的匹配的下标,若是匹配失败则返回-1.
相关文章
相关标签/搜索