JavaScript中的字符串
JavaScript中的字符串
一.在JavaScript当中字符串有两种定义方式
1)单引号或者双引号引起来的零个或者多个字符内容,包括大小写英文字符,汉字,数字,各类符号等等;
2)用JavaScript中的String字符串对象定义:eg:var str=new String('hello world');
注:最好不要用字符串对象定义,容易拖慢速度,造成内存错误;用第一种定义的字符串类型是String类型,用对象定义的时Object类型。
二.常见的转义字符:\n(换行) \r(回车) \' (单引号) \"(双引号) \ttab(制表符) \b(退格符)
换行\n 与回车\r 的区别:换行是new line 光标下移一行 回车是使光标回到行首,虽然现在回车是回到行首并换行,但在浏览器中不识别。
三.JavaScript中常见的属性与方法:
1)length属性:返回字符串的长度:str.length
2)substring()、substr()。slice()方法 截取字符串
用法:substring(start,end) 截取字符串开始下标为start的,结束为end的下标的字符串,所截取的字符串不包括下表为end的字符。var str='hello world'; str.substring(1,4);//结果为:ell
substr(start,length):截取从start下标开始,长度为length的字符串
var str='hello world'; str.substr(1,4);//结果:ello
slice(start,end):截取字符串开始下标为start的,结束为end的下标的字符串,所截取的字符串不包括下表为end的 字符。var str='hello world'; str.slice(1,4);//结果为:ell
三者的异同之处:
1.都能截取指定的字符串,并且不会修改原字符串,并返回新的字符串。
2.其中参数start 都是必须的参数,第二个参数是可选的;当第二个参数不写时,方法会从下标start处一直截取到 字符串结尾处。
3.substring()方法允许start<end,当小于时,方法默认将两个数交换,然后进行截取,且不允许负数做参数;
slice()允许负数做参数,如果负数做参数,则表示从字符串末位算起,例如-1 表示字符串最后一位,-2表示倒 数第二位,以此类推。slice()、substr()两个参数不能互换。
四.match()方法:返回匹配字符串的下标和原字符串,返回一个数组;如果没有的话则返回null
此方法只能返回字符串中第一个匹配的制定字符串;但是可以通过正则表达式来匹配全部原字符串
eg:var str='hello world world I am coming world ';
var re=/\world(\w+)?/g;
str.match(re);
输出结果:world,world,world
五.replace()方法:替换指定字符串
含有两个参数 str.replace(oldStr,newStr);此方法只能匹配第一个出现的指定字符串。如果要替换全部指定的字符串则需要正则表达式。
1.不需要正则表达式的:
//替换所有相同的
var str='hello 你好 你好 你好 world';
while(str.indexOf('你好')!=-1){
// 每执行一次都改变初值,因为replace不会改变原来的字符串内容,会返回新的一个字符串
str=str.replace('你好','再见');
}
console.log(str);2.正则表达式:
var str='hello world world I am coming world';
var rec=/\world(\w+)?/g;
str.replace(rec,'crystal');

浙公网安备 33010602011771号