JS字符串的一些常用API和操作(復習)


一、常用函數

1.字符串轉換。將任何類型的數據都轉換為字符串。

  --toString()

var num=24;
var mystr=num.toString();    //"24"

  --String()

var num=24;
var mystr=String(num);    //"24"

  --' '+sting

var num=24;
var mystr="" + num;    //"24"

2.字符串分割

  --slice(start,end)  可提取字符串的某個部分,並以新的字符串返回被提取的部分。str.slice(start,end),截取str從start到end的所有字符(包含起始位置,不包含結束位置,)start和end都可以是負數,如果是負數,就從字符串的尾部開始算起,例如-1就是最后一個字符,-2就是倒數第二個字符,以此類推。如果未指定end參數,則截取從 start 到原字符串結尾的字符串。返回的是字符串

var str = 'abc&ABC&123';
console.log(str.slice(3));//&ABC&123
console.log(str.slice(3,7));//&ABC
console.log(str.slice(-2));//23
console.log(str.slice(-3,-1));//12

  --substring(start,end)  用於提取字符串中介於兩個指定小標之間的字符,兩個參數都必須是非負整數.str.substring(start,end) 截取str從start到end的所有字符(包含起始位置,但不包含結束位置),兩個參數都必須是非負整數,如果參數start與end相等,那么該方法返回的就是一個空字符串,如果start比end大,那么該方法在提取字符串之前會先交換這兩個參數,如果未指定end參數,則截取從start到原字符串結尾的字符串。

var str = 'abc&ABC&123';
console.log(str.substring(3));//&ABC&123
console.log(str.substring(3,7));//
&ABC

  --substr(start,length)  可在字符串中抽取從start下標開始的指定數目的字符串。(ECMAscript 沒有對該方法進行標准化,因此反對使用它。)str.substr(start,length)截取str從start開始的length個字符(包含起始位置)。start參數可以是任意整數,如果是負數,則從str的尾部開始算起,例如-1就是str的最后一個字符。length是可選的,如果沒有,則表示截取從str開始的位置到字符串的尾部。

var str = 'abc&ABC&123';
console.log(str.substr(3));//&ABC&123
console.log(str.substr(3,7));//&ABC&12
console.log(str.substr(-2));//23
console.log(str.substr(-5,4));//C&12

注:JavaScript 的字符串是不可變的(immutable),String 類定義的方法都不能改變字符串的內容。所以以上三種方法都不會改變原來的字符串,而是生成新的字符串。

3.字符串替換

  --replace(regexp/substr,replacement  替換與正則表達式匹配的子串。regexp/substr 必需。規定子字符串或要替換的模式的 RegExp 對象。replacement 必需。一個字符串值。規定了替換文本或生成替換文本的函數。返回 一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之后得到的

var str = 'abc&ABC&123';
console.log(str.replace(1,','));//abc&ABC&,23  --srting
console.log(str.replace(/&/g,''));//abcABC123

4.字符串分割成字符串數組

  --split(separator,howmany)   返回的是字符串數組  separator必需。字符串或正則表達式。howmany可選。該參數可指定返回的數組的最大長度  。返回值,一個字符串數組。

 

var str = 'abc&ABC&123'; 
console.log(str.split(1,1));//["abc&ABC&"]
console.log(str.split(/&/g));//["abc", "ABC", "123"]
console.log(str.split(''));// ["a", "b", "c", "&", "A", "B", "C", "&", "1", "2", "3"]

5.查找字符串

  --indexOf(searchvalue,fromindex)   返回某個指定的字符串值在字符串中首次出現的位置。如果要檢索的字符串值沒有出現,則該方法返回 -1。indexOf() 方法對大小寫敏感!searchvalue  必需。規定需檢索的字符串值。 fromindex(0~str.len-1)  可選整數。規定在字符串中開始檢索的位置。

var str = 'abc&ABC&123';
console.log(str.indexOf(1));//8
console.log(str.indexOf(3,6));//10
console.log(str.indexOf(5,6));//-1

  --match()   match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。.match(searchvalue) 必需。規定要檢索的字符串值。  .match(regexp)  必需。規定要匹配的模式的 RegExp 對象  ---- 多用這種操作  返回需要的字符串數組

var a = 'abc&CDE&啊啊啊';
var f = a.match(/[A-z]/g);
console.log(f);
["a", "b", "c", "C", "D", "E"]

 

  --search()  用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串      search(regexp) 該參數可以是需要在 stringObject 中檢索的子串,也可以是需要檢索的 RegExp對象。   如果沒有找到任何匹配的子串,則返回 -1。

var a = 'abc&CDE&啊啊啊';
a.search('啊');//8
a.search(/[A-z]/g);//0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM