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.
相關文章
相關標籤/搜索