用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时做的笔记