JS数据类型-字符串

本文介绍了如何在编程中使用反引号进行表达式嵌套,探讨了字符串处理中的大小写转换方法,以及查找子字符串的各种函数,如indexOf、lastIndexOf和includes。此外,还讲解了JavaScript中substring、substr和slice三种获取子串的方式。
摘要由CSDN通过智能技术生成

字符串

反引号

  • 单引号、双引号基本相同。但是反引号允许我们通过${…}将任何表达式嵌套到字符串中:
sum(a,b) {
	return a + b 
}
console.log(`1+2 =${sum(1, 2)} 。`);  //1+2 = 3 。
  • 反引号还能允许字符串跨行:
let getList = `guest:
* june
* pete
* Mary
`;
console.log(getList); // 与输入的格式一致

特殊字符

字符描述
\n换行
\r回车:不单独使用。Windows 文本文件使用两个字符 \r\n 的组合来表示换行。
', "引号
\反斜线
\t制表符
\b, \f, \v退格,换页,垂直标签 —— 为了兼容性,现在已经不使用了。
\xXX具有给定十六进制 Unicode XX 的 Unicode 字符,例如:’\x7A’ 和 ‘z’ 相同。
\uXXXX以 UTF-16 编码的十六进制代码 XXXX 的 unicode 字符,例如 \u00A9 —— 是版权符号 © 的 unicode。它必须正好是 4 个十六进制数字。
\u{X…XXXXXX} 1 到 6 个十六进制字符)( 具有给定 UTF-32 编码的 unicode 符号。一些罕见的字符用两个 unicode 符号编码,占用 4 个字节。这样我们就可以插入长代码了。

改变大小写

  • toLowerCase() toUpperCase() 可以改变大小写

查找子字符串

  • str.indexOf(substr,pos).从给定位置pos开始,在str中查找substr,若没有返回-1,否则返回到成功的位置
  • str.lastIndexOf(substr, pos) 从字符串末尾开始搜索到开头
  • str.includes():包含某个参数,其第二个可选参数是开始搜索的起始位置
alert( "Midget".includes("id") ); // true
alert( "Midget".includes("id", 3) ); // false, 从位置 3 开始没有 "id"
  • str.startsWith str.endWith :以str开始、结束
alert( "Widget".startsWith("Wid") ); // true,"Widget" 以 "Wid" 开始
alert( "Widget".endsWith("get") ); // true,"Widget" 以 "get" 结束

获取子字符串

js中有三种获取字符串的方法:substring、substr、slice。

  • str.slice(start [,end]) 返回字符串从start到end(不包括)的部分

若没有第二个参数,slice会一致运行到字符串尾
start/end也有可能是负值,从字符串结尾开始计算

let str = "stringify";
alert( str.slice(0, 5) ); // 'strin',从 0 到 5 的子字符串(不包括 5)
alert( str.slice(0, 1) ); // 's',从 0 到 1,但不包括 1,所以只有在 0 处的字符
alert( str.slice(2) );//ringify
// 从右边的第四个位置开始,在右边的第一个位置结束
alert( str.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(startt[,length]) 返回字符串从start开始的给定length的部分,与以前的方法相比,这个允许我们指定的length不是结束位置。

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

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

总结:

方法选择方式负值参数
slice(start, end)从start到end(不含end)允许
substring(start,end)start与end之间(包含start,不包括end)负值代表0
substr(start,length)从start开始获取长为length的字符串允许start为负数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值