13字符串的方法

13字符串的方法

(1)字符串与字符串包装对象

字符串的所有方法都在字符串包装对象上边

let a = "你好";//创建字面量
let b = String('hello')//通过String函数创建字符串
let str = new String('hello')//字符串的包装对象	
console.log( str )//String {"hello"}
//只要使用了字符串,浏览器都会创建一个字符串包装对象,然后进行使用,使用完成之后立马销毁
let a = 'hello world';
a.some = [1,2,3];//创建一个字符串包装对象,然后给这个对象设置some属性值为[1,2,3]
console.log( a.some );
console.log( a.some = [1,2,3] );//[1,2,3]
 //可以遍历字符串
let b = 'hello world';
 for( let i = 0,length = b.length; i < length; i++ ){
      console.log( b[i] );
 };
(2)方法
1.charAt(下标)

通过下标来获取字符串里的某个字符

let str = 'hello world';
console.log( str.charAt(1) );//e
2.String.fromCharCode()

查看字符对应的字符编码 String.fromCharCode(num1, num2 .....)

let result = String.fromCharCode(65,66,67);//65,66,67这三个字符编码对应的字符是
console.log(result);//'ABC' 是字符串
3.String.fromCodePoint()

String.fromCharCode()

4.charCodeAt(下标)

把指定下标转化成为一个字符编码

let c = '晚安,世界!';
console.log( c.charCodeAt(0),c.charCodeAt(1) );//26202 23433
5.codePointAt(下标)

charCodeAt(下标)

6.concat()

把多个字符串合并成同一个字符串,返回新的字符串

let d = 'hello',
    e = ' world',
    f = ' hi';
console.log( ''.concat(d, e, f) );//hello world hi
7.endsWith

str.endsWith('字符串', 字符串的长度) -> 判断某个字符串是不是以XX结尾的

let g = 'hello world!';
console.log( g.endsWith('d', 5) );//false -> 严格区分大小写
8.startsWith

从下标X开始,判断是否是以X开头的str.startsWith('字符串',从下标几开始)

let g = 'hello world!';
console.log( g.startsWith('o', 3) ); //false
9.includes

判断字符串中是否包含Xstr.includes('字符串', 起始下标)

let g = 'hello world!';
console.log( g.includes(' ', 6) );//false
10.indexOf

indexOf('字符/字符串', 起始下标) -> 从左往右从某下标开始查找该字符的下标,找不到返回-1

let g = 'hello world!';
console.log( g.indexOf('o', 6) );//7
11.lastIndexOf

lastIndexOf('字符/字符串', 起始下标) -> 从右往左从某下标开始查找该字符的下标,找不到返回-1

let g = 'hello world!';
console.log( g.lastIndexOf('o', 6) );//4
12.match

去字符串里边匹配某个字符/字符串,传一个字符串进去 浏览器会自动转化为正则

matchAll(正则),返回迭代器对象

  • 0: 匹配到的字符串
  • index: 找到的字符串的下标
  • input 原字符串
let reg = new RegExp('hello', 'gi');//这种写法叫做正则 -> 正则就是用来匹配字符串的
let h = 'hello world!Hello world!hello world!hello world!';
console.log( h.match('hello') );
console.log( h.matchAll(reg) );//返回迭代器对象 RegExpStringIterator {}
13.replace

replace(reg, 替换成什么文字)

let j = 'hello world!';
let reg_a = new RegExp('hello', 'gi');
console.log( j.replace( reg_a, '' ) );
14.trim()

去掉空格,返回新字符串

  • trim() 删除前边和后边的空格
  • trimLeft()/trimStart() -> 删除字符串开始的空格
  • trimEnd()/trimRight() -> 删除字符串结尾的空格
let k = ' hello world ';
console.log( k.trim() );
console.log( k.trimRight().trimStart() );
console.log( k.trimStart() );
15.toLowerCase()

所有的字符都转化为小写

let str2 = 'Hello World';
console.log( str2.toLowerCase() );//hello world
16.toUpperCase()

所有的字符都转化为大写

let str1 = 'hellO world';
console.log( str1.toUpperCase());//HELLO WORLD
17.padEnd/padStartpadEnd

padEnd(字符串的长度, ‘以什么样的字符串填充’),在末尾

padStart(字符串的长度, ‘以什么样的字符串填充’),在开头

let str3 = 'hello';
console.log( str3.padEnd(10, 'some') )//hellosomes
console.log( str3.padStart(10, 'world') )//worldhello
18.repeat

repeat(数字),重复多少遍

let str3 = 'hello';
let str5 = str3.repeat(5);
console.log(str5);//hellohellohellohellohello
19.slice

从原字符串中提取一部分 slice(start, end)

let str5 = hellohellohellohellohello;
console.log( str5.slice(0, -2) );//hellohellohellohellohel
20.substring

效果与slice一样

let str5 = hellohellohellohellohello;
console.log( str5.substring(1, 5) );
21.split

split(‘以什么为分隔’)把字符串变成数组

let str6 = 'hello world,hello world, hello world';
console.log( str6.split('hello') );//["", " world,", " world, ", " world"]
22.search

search(正则) 返回找到的这个字符/字符串的下标 只能找一个如果没有返回-1

let str7 = 'hello world,hello world,hello world,hello world';
const reg2 = new RegExp('hello', 'g');
console.log( str7.search(reg2) );//0
23.模板字符串

使用``, 直接进行换行,不需要使用\进行转义

不管是双引号还是单引号都可以直接包裹

如果需要在模板字符串里引入变量用 ${变量} ,可以写表达式 ,写在里边的任何数据都会被转化成为字符串

let str9 = `hello
     world
        some
     `;
    console.log(str9);
/*
hello
     world
     
*/
//不管是双引号还是单引号都可以直接包裹
let str_a = `tom say: 'hello jerry',"i'm tom"`;
//用 `${变量} `
let str8 = 'hello world';
let arr = {nickname: '小明'};
console.log( `
    <span>${str8}</span>
    <span>${arr}</span>
` );
console.log( `hello ${ true && false }` );//hello false
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值