js字符串

用length属性表示字符串长度。

想要获得字符串上相应位置的字符,使用[]或者  .charAt();
eg:
    

let  eg = `Hello`;
    alert ( eg[0] ); //H
    alert (eg.charAt(0)); //H
    alert (eg.[eg.lenght -1]); //o

[]与 .charAt()的区别在于找不到字符时,[]返回undefined而 .charAt返回空字符;


使用for ..of的方法迭代字符:
  

 for(let char of "hello") {
alert( char );//h,e,l,l,o
}

通常情况下字符串时不可改变的,解决方法时创建一个新的字符串并将其赋予旧的字符串;
eg:
    

let  a = 'Hi';
    a = 'h' + a[1];
    alert ( str );

方法toLowerCase()和toUpperCase()改变了大小写:

alert ( 'Interface '.toUpperCase() );//INTERFACE
alert ( 'Interface '.toLowerCase() );//interface
alert ( 'Interface '[0].toLowerCase() );//i

搜索字符串:
str.indexOf(substr,pos) ;
从给定的位置开始查找,并返回找到匹配的位置,找不到则返回-1;
eg:
    

let a = 'I love you';
    alert( str.indexOf('I') );//0
    alert( str.indexOf('i') );//-1
    alert( str.indexOf('you') );//1

如果第一次出现了id,要查找下一项:
eg:
    

let str = 'Widget with id';
    alert( str.indexOf('id',2) )//12


循环查找:
eg:

 let str = 'AS sly as a fox, as strong as strong as an ox';
    let target = 'as';
    let pos = 0;

    while( true ) {
        let foundpos = str.indexOf( traget,pos );
        if (foundpos == -1) break;
    
        alert( `Found at ${foundPos}` );
        pos = foundPos +1;
    }

str.lastIndexOf(substr,position):
还有一种方法str.lastIndexOf(substr,position),这种方法是重后往前搜索。
这种方法不能放在if中进行;


获取子字符串:
有3种方法:substring,substr和slice。
str.slice(start [,end])
返回字符串的一部分:
eg:
    

let str = "stringify";
    alert( str.slice(0,5) );//strin
    alert( str.slice(0,1) );//s

 


如何没有第一个参数,则返回slice直到结尾:
eg:

let str = "stringify";
    alert( str.slice(2) );//ringify

 


负值也是有可能的,表示从字符串结尾计算位置:
eg:

 let str = "stringify";
    alert( str.slice(-4,-1) );//gif

 


str.substring(start [, end]):
返回之间的字符串;
eg:

let str = "stringify";
    alert( str.substring(2, 6) );//ring
    alert( str.substring(6, 2) );//ring
    alert( str,slice(2, 6) );//ring
    alert( str,slice(6, 2) );//" "

不支持负值;


str.substr(start [, length])
返回给定的部分长度。
eg:

let str = "stringify";
    alert( str.substr(2, 4) );//ring

支持负值;
eg:
  

 let str = "stringify";
    alert( str.substr(-4, 2) );//gi

 


比较字符串:
str.codePointAt(pos)
返回字符位置 ;
eg:
    

alert("z".codePointAt(0) );//122
    alert("Z".codePointAt(0) );//90

string.fromCodePoint(code)
通过数字创建一个字符
eg:
    

alert(string.fromCodePoint(90));//Z


还可以通过\u十六进制创建字符
eg:
    alert('\u005a');


创建65到220的所有字符:

let str = ' ';
    for (let i =65; i <= 220; i++){
        str +=String.fromCodePoint( i );
    }
    alert( str );
// ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
// ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜ

 

 从https://javascript.info/上学习js时做的笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个努力小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值