update:字符串的常见方法
This commit is contained in:
parent
0bdcc8c072
commit
4fdb9d0b7b
@ -76,7 +76,7 @@ VS Code用得熟不熟,首先就看你是否会用快捷键。以下列出的
|
|||||||
|
|
||||||
- 「Cmd + 左右方向键」:在**整行**之间移动光标(很常用)。注:Win 的快捷键是「Fn + 左右方向键」
|
- 「Cmd + 左右方向键」:在**整行**之间移动光标(很常用)。注:Win 的快捷键是「Fn + 左右方向键」
|
||||||
|
|
||||||
- 「Cmd + Shift + \」:在**代码块**之间移动光标。
|
- 「`Cmd + Shift + \`」:在**代码块**之间移动光标。
|
||||||
|
|
||||||
### 删除操作
|
### 删除操作
|
||||||
|
|
||||||
|
@ -162,30 +162,6 @@
|
|||||||
console.log(result2); // 打印结果:中
|
console.log(result2); // 打印结果:中
|
||||||
```
|
```
|
||||||
|
|
||||||
### concat()
|
|
||||||
|
|
||||||
`concat()`:字符串的连接。
|
|
||||||
|
|
||||||
语法:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
新字符串 = str1.concat(str2); //链接两个字符串
|
|
||||||
```
|
|
||||||
|
|
||||||
这种方法基本不用,直接把两个字符串相加就好。
|
|
||||||
|
|
||||||
是的,你会发现,数组中也有`concat()`方法,用于数组的连接。这个方法在数组中用的挺多的。
|
|
||||||
|
|
||||||
代码举例:
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
var str1 = 'qiangu';
|
|
||||||
var str2 = 'yihao';
|
|
||||||
|
|
||||||
var result = str1.concat(str2);
|
|
||||||
console.log(result); // 打印结果:qianguyihao
|
|
||||||
```
|
|
||||||
|
|
||||||
### indexOf()/lastIndexOf()
|
### indexOf()/lastIndexOf()
|
||||||
|
|
||||||
`indexOf()/lastIndexOf()`:获取指定字符的索引。
|
`indexOf()/lastIndexOf()`:获取指定字符的索引。
|
||||||
@ -202,6 +178,8 @@
|
|||||||
|
|
||||||
因此可以得出一个技巧:**如果获取的索引值为0,说明字符串是以查询的参数为开头的**。
|
因此可以得出一个技巧:**如果获取的索引值为0,说明字符串是以查询的参数为开头的**。
|
||||||
|
|
||||||
|
这个方法还可以指定第二个参数,用来 指定开始查找的位置。
|
||||||
|
|
||||||
**代码举例1**:
|
**代码举例1**:
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
@ -231,34 +209,76 @@
|
|||||||
|
|
||||||
上方代码中,`indexOf()`方法中携带了两个参数,具体解释请看注释。
|
上方代码中,`indexOf()`方法中携带了两个参数,具体解释请看注释。
|
||||||
|
|
||||||
### 字符串的截取(重要)
|
### concat()
|
||||||
|
|
||||||
字符串的截取有好几个方法,下面分别讲解。
|
`concat()`:字符串的连接。
|
||||||
|
|
||||||
1、 **slice()**方法:
|
语法:
|
||||||
|
|
||||||
格式:
|
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
字符串 = str.slice(索引1, 索引2); //两个参数都是索引值。
|
新字符串 = str1.concat(str2); //链接两个字符串
|
||||||
```
|
```
|
||||||
|
|
||||||
上面的参数,包左不包右。参数举例如下:
|
这种方法基本不用,直接把两个字符串相加就好。
|
||||||
|
|
||||||
- (2,5) 表示正常,包左不包右。
|
是的,你会发现,数组中也有`concat()`方法,用于数组的连接。这个方法在数组中用得挺多的。
|
||||||
|
|
||||||
- (2) 表示**从指定的索引位置开始,剪到最后**。
|
代码举例:
|
||||||
|
|
||||||
- (-3) 表示从倒数第几个开始,剪到最后.
|
|
||||||
|
|
||||||
- (5,2) 表示前面的大,后面的小,返回值为空。
|
|
||||||
|
|
||||||
2、**substr()**方法:
|
|
||||||
|
|
||||||
格式:
|
|
||||||
|
|
||||||
```javascript
|
```javascript
|
||||||
字符串 = srt.substr(索引值, 长度);
|
var str1 = 'qiangu';
|
||||||
|
var str2 = 'yihao';
|
||||||
|
|
||||||
|
var result = str1.concat(str2);
|
||||||
|
console.log(result); // 打印结果:qianguyihao
|
||||||
|
```
|
||||||
|
|
||||||
|
### slice()
|
||||||
|
|
||||||
|
`slice()`:从字符串中截取指定的内容。不会修改原字符串,而是将及截取到的内容返回。
|
||||||
|
|
||||||
|
语法:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
字符串 = str.slice(开始索引, 结束索引); //两个参数都是索引值。包左不包右。
|
||||||
|
```
|
||||||
|
|
||||||
|
解释:上面的参数,包左不包右。参数举例如下:
|
||||||
|
|
||||||
|
- (2, 5) 截取时,包左不包右。
|
||||||
|
|
||||||
|
- (2) 表示**从指定的索引位置开始,截取到最后**。
|
||||||
|
|
||||||
|
- (-3) 表示从倒数第几个开始,截取到最后。
|
||||||
|
|
||||||
|
- (1, -1) 表示从第一个截取到倒数第一个。
|
||||||
|
|
||||||
|
- (5, 2) 表示前面的大,后面的小,返回值为空。
|
||||||
|
|
||||||
|
### substring()
|
||||||
|
|
||||||
|
`substring()`:从字符串中截取指定的内容。和`slice()`类似。
|
||||||
|
|
||||||
|
语法:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
字符串 = str.substring(开始索引, 结束索引); //两个参数都是索引值。包左不包右。
|
||||||
|
```
|
||||||
|
|
||||||
|
`substring()`和`slice()`是类似的。但不同之处在于:
|
||||||
|
|
||||||
|
- `substring()`不能接受负值作为参数。如果传递了一个**负值**,则默认使用0。
|
||||||
|
|
||||||
|
- `substring()`还会自动调整参数的位置,如果第二个参数小于第一个,则自动交换。比如说, `substring(1, 0)`截取的是第一个字符。
|
||||||
|
|
||||||
|
### substr()
|
||||||
|
|
||||||
|
`substr()`:从字符串中截取指定的内容。不会修改原字符串,而是将及截取到的内容返回。
|
||||||
|
|
||||||
|
语法:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
字符串 = str.substr(开始索引, 截取的长度);
|
||||||
```
|
```
|
||||||
|
|
||||||
参数举例:
|
参数举例:
|
||||||
@ -271,6 +291,54 @@
|
|||||||
|
|
||||||
- 不包括前大后小的情况。
|
- 不包括前大后小的情况。
|
||||||
|
|
||||||
|
备注:ECMAscript 没有对 `substr()` 方法进行标准化,因此不建议使用它。
|
||||||
|
|
||||||
|
### split() 【重要】
|
||||||
|
|
||||||
|
`split()`:将一个字符串拆分成一个数组。
|
||||||
|
|
||||||
|
语法:
|
||||||
|
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
数组 = split();
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
备注:`split()`这个方法在实际开发中用得非常多。一般来说,从接口拿到的json数据中,经常会收到类似于`"q, i, a, n"`这样的字符串,前端需要将这个字符串拆分成`['q', 'i', 'a', 'n']`数组,这个时候`split()`方法就排上用场了。
|
||||||
|
|
||||||
|
|
||||||
|
**代码举例1**:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
|
||||||
|
var str = "qian, gu, yi, hao"; // 用逗号隔开的字符串
|
||||||
|
var array = str.split(","); // 将字符串 str 拆分成数组,通过逗号来拆分
|
||||||
|
|
||||||
|
console.log(array); // 打印结果是数组:["qian", " gu", " yi", " hao"]
|
||||||
|
```
|
||||||
|
|
||||||
|
**代码举例2**:
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
//split()方法:字符串变数组
|
||||||
|
var str3 = "生命壹号|许嵩|smyhvae";
|
||||||
|
|
||||||
|
console.log(str3);
|
||||||
|
|
||||||
|
console.log(str3.split()); // 无参数,表示:把字符串作为一个元素添加到数组中。
|
||||||
|
|
||||||
|
console.log(str3.split("")); //参数为空字符串,则表示:分隔字符串中每一个字符,分别添加到数组中
|
||||||
|
|
||||||
|
console.log(str3.split("|")); //参数为指定字符,表示:此字符将不会出现在数组的任意一个元素中
|
||||||
|
|
||||||
|
console.log(str3.split("许")); //同理
|
||||||
|
```
|
||||||
|
|
||||||
|
打印结果:
|
||||||
|
|
||||||
|
![](http://img.smyhvae.com/20180202_1503.png)
|
||||||
|
|
||||||
### 一些特殊方法
|
### 一些特殊方法
|
||||||
|
|
||||||
**1、trim()**:去除字符串前后的空白。
|
**1、trim()**:去除字符串前后的空白。
|
||||||
@ -300,23 +368,6 @@
|
|||||||
console.log(str2.replace(/today/gi,"tomorrow")); //这里用到了正则,才能替换所有的today
|
console.log(str2.replace(/today/gi,"tomorrow")); //这里用到了正则,才能替换所有的today
|
||||||
```
|
```
|
||||||
|
|
||||||
3、split():字符串变数组。
|
|
||||||
|
|
||||||
```javascript
|
|
||||||
//split()方法:字符串变数组
|
|
||||||
var str3 = "生命壹号|许嵩|smyhvae";
|
|
||||||
|
|
||||||
console.log(str3);
|
|
||||||
console.log(str3.split()); // 无参数,表示:把字符串作为一个元素添加到数组中。
|
|
||||||
console.log(str3.split("")); //参数为空字符串,则表示:分隔字符串中每一个字符,分别添加到数组中
|
|
||||||
console.log(str3.split("|")); //参数为指定字符,表示:此字符将不会出现在数组的任意一个元素中
|
|
||||||
console.log(str3.split("许")); //同理
|
|
||||||
```
|
|
||||||
|
|
||||||
打印结果:
|
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20180202_1503.png)
|
|
||||||
|
|
||||||
### 大小写转换
|
### 大小写转换
|
||||||
|
|
||||||
举例:
|
举例:
|
||||||
@ -326,6 +377,7 @@
|
|||||||
|
|
||||||
//转换成小写
|
//转换成小写
|
||||||
console.log(str.toLowerCase());
|
console.log(str.toLowerCase());
|
||||||
|
|
||||||
//转换成大写
|
//转换成大写
|
||||||
console.log(str.toUpperCase());
|
console.log(str.toUpperCase());
|
||||||
```
|
```
|
||||||
|
@ -261,6 +261,9 @@ Sass 是成熟、稳定、强大的 CSS 扩展语言。入门文档可以看:<
|
|||||||
|
|
||||||
## 工具
|
## 工具
|
||||||
|
|
||||||
|
|
||||||
|
### 综合类
|
||||||
|
|
||||||
- CanIUse:<https://caniuse.com/>
|
- CanIUse:<https://caniuse.com/>
|
||||||
|
|
||||||
浏览器兼容性查询。前端同学必须要知道。
|
浏览器兼容性查询。前端同学必须要知道。
|
||||||
@ -307,6 +310,10 @@ Sass 是成熟、稳定、强大的 CSS 扩展语言。入门文档可以看:<
|
|||||||
|
|
||||||
- OCR文字识别:<https://app.xunjiepdf.com/ocr>
|
- OCR文字识别:<https://app.xunjiepdf.com/ocr>
|
||||||
|
|
||||||
|
### 图片类
|
||||||
|
|
||||||
|
- 图片转base64:<http://imgbase64.duoshitong.com/>
|
||||||
|
|
||||||
## 团队
|
## 团队
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,7 +1,4 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## 项目介绍
|
## 项目介绍
|
||||||
|
|
||||||
- 项目地址:<https://github.com/qianguyihao/Web>
|
- 项目地址:<https://github.com/qianguyihao/Web>
|
||||||
@ -31,7 +28,7 @@
|
|||||||
|
|
||||||
- 进群要求:少提问、少闲聊、多分享(长期潜水的,就不必了)。
|
- 进群要求:少提问、少闲聊、多分享(长期潜水的,就不必了)。
|
||||||
|
|
||||||
你也可以关注微信公众号「**千古壹号**」,学习代码之外的技能。扫一扫。你将发现一个全新的世界,而这将是一场美丽的意外:
|
你也可以关注微信公众号「**千古壹号**」,学习代码之外的技能。扫一扫,你将发现一个全新的世界,而这将是一场美丽的意外:
|
||||||
|
|
||||||
![](http://img.smyhvae.com/20190101.png)
|
![](http://img.smyhvae.com/20190101.png)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user