update:字符串的常见方法

This commit is contained in:
qianguyihao 2019-06-18 17:29:56 +08:00
parent 0bdcc8c072
commit 4fdb9d0b7b
4 changed files with 120 additions and 64 deletions

View File

@ -76,7 +76,7 @@ VS Code用得熟不熟首先就看你是否会用快捷键。以下列出的
- 「Cmd + 左右方向键」:在**整行**之间移动光标很常用。注Win 的快捷键是「Fn + 左右方向键」 - 「Cmd + 左右方向键」:在**整行**之间移动光标很常用。注Win 的快捷键是「Fn + 左右方向键」
- 「Cmd + Shift + \」:在**代码块**之间移动光标。 - 「`Cmd + Shift + \`」:在**代码块**之间移动光标。
### 删除操作 ### 删除操作

View File

@ -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());
``` ```

View File

@ -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/>
## 团队 ## 团队

View File

@ -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)