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