一、字符串(String)使用长度属性length来计算字符串的长度
var txt = "Hello World!" ;
console. log ( txt. length) ;
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ;
console. log ( txt. length) ;
二、字符串大小写转换方法
1.大写转换为小写
var str1 = "AbcdEfgh" ;
var str2 = str1. toLowerCase ( ) ;
console. log ( str2) ;
1.小写转换为大写
var str1 = "AbcdEfgh" ;
var str3 = str1. toUpperCase ( ) ;
console. log ( str3)
三、提取指定位置字符
1.stringObj.charAt(index):返回字符串中指定下标(位置)的字符。
var str1 = "JavaScript网页教程" ;
var str2 = str1. charAt ( 12 ) ;
console. log ( str2)
charAt()案例1:统计一个字符串中所有字母出现的次数
var str = "whatOareYyouYnoYshaHleiHoHmyHgod" ;
var obj = { } ;
for ( let i = 0 ; i < str. length; i++ ) {
let j = str. charAt ( i) ;
if ( obj[ j] ) {
obj[ j] ++ ;
} else {
obj[ j] = 1 ;
}
}
console. log ( obj)
charAt()案例2:统计一个字符串中特定字母出现的位置
var str = "hello wod odd ott fbo nhyo" ;
var arr = [ ] ;
for ( let i = 0 ; i< str. length; i++ ) {
if ( str. charAt ( i) == 'o' ) {
arr. push ( i) ;
}
}
console. log ( arr) ;
2.stringObj.charCodeAt(index):返回字符串中指定索引(位置)的字符 unicode 编码。
unicode一般指统一码,也叫万国码、单一码(Unicode)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
var str1 = "JavaScript网页教程" ;
var str3 = str1. charCodeAt ( 12 ) ;
console. log ( str3) ;
四、查询指定字符串
1. stringObj.indexOf(findstr, index):返回指定文本在字符串中首次出现的索引
返回findstr在stringObj中首次出现的其首字符的位置索引索引。 findstr是查找的字符串。 index是开始查找的位置索引,index省略则代表从0开始找。 0 是字符串中的第一个位置,1 是第二个,2 是第三个… 如果没有找到,则返回-1。
var str = "The full name of China is the People's Republic of China." ;
var pos = str. indexOf ( "China" ) ;
console. log ( pos) ;
var str = "The full name of China is the People's Republic of China." ;
var pos = str. indexOf ( "USA" ) ;
console. log ( pos) ;
var str = "The full name of China is the People's Republic of China." ;
var pos = str. indexOf ( "China" , 18 ) ;
console. log ( pos) ;
indexof()案例:统计含有特定字母的字符串个数
var array= [ "America" , "Greece" , "Britain" , "Canada" , "China" , "Egypt" ] ;
var num = 0 ;
for ( let i = 0 ; i< array. length; i++ ) {
if ( array[ i] . indexOf ( 'A' ) != - 1 || array[ i] . indexOf ( 'a' ) != - 1 ) {
num++ ;
}
}
console. log ( num) ;
2.stringObj.lastIndexOf(findstr,index):返回指定文本在字符串中最后一次出现的索引
即返回findstr在stringObj中最后一次出现的其首字符的索引。 findstr是查找的字符串。 index是结束查找的位置索引,index省略则代表到字符串末尾结束 0 是字符串中的第一个位置,1 是第二个,2 是第三个… 如果没有找到,则返回-1。
var str = "The full name of China is the People's Republic of China." ;
var pos = str. lastIndexOf ( "China" ) ;
console. log ( pos) ;
var str = "The full name of China is the People's Republic of China." ;
var pos = str. lastIndexOf ( "USA" ) ;
console. log ( pos) ;
var pos = str. lastIndexOf ( "China" , 50 ) ;
console. log ( pos) ;
var pos = str. lastIndexOf ( 'China' , 53 ) ;
console. log ( pos) ;
3.stringObj.search(findstr):搜索特定值的字符串,并返回匹配的位置
indexOf()和search() 的区别
search()的参数可以是正则表达式,而indexOf()的参数只是普通的字符串。indexOf()是比search()更加底层的 方法。 如果只是对一个具体字符串来查找,那么使用indexOf()的系统资源消耗更小,效率更高;如果查找具有某些特征的字符串(例如查找以a开头,后面是数字的字符串),那么indexOf()就无能为力,必须要使用正则表达式和search()方法了。
五、提取部分字符串————有三种提取部分字符串的方法:slice(start,end);substring(start, end);substr(start, length);
1.slice(start,end)
提取字符串的某个部分,返回被提取的部分字符串,含头不含尾。 该方法设置两个参数:起始索引(开始位置),终止索引(结束位置)。
var str = "Apple, Banana, Mango" ;
var str1 = str. slice ( 7 , 13 ) ;
console. log ( str1) ;
var str2 = str. slice ( 7 ) ;
console. log ( str2) ;
console. log ( str. slice ( - 13 , - 7 ) ) ;
console. log ( str. slice ( - 13 ) ) ;
2.substring(start,end)
用法与 slice()方法相同,不同之处在于 substring() 无法接受负的索引,语法通过,但结果不正常
(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点 (2) start 或 end 为 NaN 或者负数, 那么将其替换为0
3.substr(start,length)
类似于 slice()方法,不同之处在于第二个参数规定被提取部分的长度。第二个参数不能为负,因为它指的是长度。当length为0或者负数,返回空字符串
var str = "Apple, Banana, Mango" ;
var res = str. substr ( 7 , 6 ) ;
console. log ( res) ;
var res2 = str. substr ( 7 ) ;
console. log ( res2) ;
var res3 = str. substr ( - 13 , 6 ) ;
console. log ( res3) ;
var res4 = str. substr ( - 13 ) ;
console. log ( res4) ;
六、删除字符串两端的空白符——stringObj.trim()
var str = " Hello World! " ;
console. log ( str. trim ( ) ) ;
七、连接字符串——stringObj.concat()
var text1 = "Hello" ;
var text2 = "World" ;
var text3 = text1. concat ( " " , text2) ;
console. log ( text3) ;
var text4 = "Hello" + " " + "World!" ;
var text5 = "Hello" . concat ( " " , "World!" ) ;
console. log ( text4) ;
console. log ( text5) ;
八、拆分字符串——stringObj.split(bystr)
用bystr字符串将stringObj字符串进行分割,返回分割后的字符串数组
var str1 = "一,二,三,四,五,六,日" ;
var strArray = str1. split ( ',' ) ;
console. log ( strArray) ;
九、替换字符串——stringObj.replace(findstr,tostr)
findstr是要被替换的字符串,tostr是替换为的字符串,返回替换后的新字符串,原字符串不变。 默认只替换首个匹配,如需替换所有匹配,需使用正则表达式的 g 标志(用于全局搜索)。 其对大小写敏感,如需执行大小写不敏感的替换,需使用正则表达式 /i(大小写不敏感)。
var str = "Please visit Microsoft and Microsoft!" ;
var str1 = str. replace ( 'Microsoft' , "W3School" ) ;
console. log ( str1) ;
var str1 = str. replace ( / Microsoft / g , "W3School" ) ;
console. log ( str1) ;
var str3 = str. replace ( "MICROSOFT" , "W3School" ) ;
console. log ( str3) ;
var str4 = str. replace ( / MICROSOFT / i , "W3School" ) ;
console. log ( str4) ;