字符串API合集

1. toUpperCase()/ toLowerCase() 字符切换大小写
alert( 'Interface'.toUpperCase() ); // INTERFACE
alert( 'Interface'.toLowerCase() ); // interface
2.str.indexOf(substr,pos),它从给定位置 pos 开始,在 str 中查找 substr,如果没有找到,则返回 -1,否则返回匹配成功的位置。
let str = 'Widget with id';

alert( str.indexOf('Widget') ); // 0,因为 'Widget' 一开始就被找到
alert( str.indexOf('widget') ); // -1,没有找到,检索是大小写敏感的

alert( str.indexOf("id") ); // 1,"id" 在位置 1 处(……idget 和 id)
alert( str.indexOf('id', 2) ) // 12
3.str.includes, str.startsWith, str.endsWith

更现代的方法 str.includes(substr, pos) 根据 str 中是否包含 substr 来返回 true/false

//如果我们需要检测匹配,但不需要它的位置,那么这是正确的选择:

alert( "Widget with id".includes("Widget") ); // true

alert( "Widget".includes("id", 3) ); // false, 从位置 3 开始没有 "id"

方法 str.startsWith 和 str.endsWith 的功能与其名称所表示的意思相同:

alert( "Widget".startsWith("Wid") ); // true,"Widget" 以 "Wid" 开始
alert( "Widget".endsWith("get") ); // true,"Widget" 以 "get" 结束

4.获取字符串的三种方法(substr,substring,slice)

str.slice(start [, end])

返回字符串从 start 到(但不包括)end 的部分。

alert( 'string'.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符

如果没有第二个参数,slice 会一直运行到字符串末尾.

start/end 也有可能是负值。它们的意思是起始位置从字符串结尾计算:

// 从右边的第四个位置开始,在右边的第一个位置结束
alert( "stringify".slice(-4, -1) ); // 'gif'

str.substring(start [, end])

返回字符串从 start 到(但不包括)end 的部分。

这与 slice 几乎相同,但它允许 start 大于 end

let str = "stringify";

// 这些对于 substring 是相同的
alert( str.substring(2, 6) ); // "ring"
alert( str.substring(6, 2) ); // "ring"

// ……但对 slice 是不同的:
alert( str.slice(2, 6) ); // "ring"(一样)
alert( str.slice(6, 2) ); // ""(空字符串)
str.substr(start [, length])

返回字符串从 start 开始的给定 length 的部分。

与以前的方法相比,这个允许我们指定 length 而不是结束位置:

let str = "stringify";
alert( str.substr(2, 4) ); // 'ring',从位置 2 开始,获取 4 个字符

 第一个参数可能是负数,从结尾算起:

let str = "stringify";
alert( str.substr(-4, 2) ); // 'gi',从第 4 位获取 2 个字符

我们回顾一下这些方法,以免混淆:

方法选择方式……负值参数
slice(start, end)从 start 到 end(不含 end允许
substring(start, end)从 start 到 end(不含 end负值被视为 0
substr(start, length)从 start 开始获取长为 length 的字符串允许 start 为负数

5.str.trim() 

去掉字符串前后空格。

6. str.replace()  替换

语法:str.replace(regexp|string, newString|function)

7.string.match(regexp)

返回一个包含匹配结果的数组。数组的内容取决于 regexp 是否设置了 “g” 属性,有 g 跟 没 g 返回结果完全不一致。

'Abcab'.match(/ab/i) 
// ['Ab', index: 0, input: 'Abcab', groups: undefined]
 
'Abcab'.match(/ab/ig)
// ['Ab', 'ab']

8.String.charCodeAt(index)

index:在string中,下标index的字符

返回指定位置的字符的 Unicode 编码

var str = "abc";
var m = str.charCodeAt(1);  // 'b'
console.log(m)  // 98
 
// 单个字符同样适用
var str2 = "a";
var n = str2.charCodeAt(0);  // 'a'
console.log(n)  // 97

9.string.fromCharCode(number)

接受一个指定的 Unicode 值,然后返回一个字符

var str = String.fromCharCode(97)
console.log(str)  // 'a'
 
var str2 = String.fromCharCode(72,69,76,76,79)
console.log(str2)  // 'HELLO'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值