update:字符串的常见方法
This commit is contained in:
@@ -162,30 +162,6 @@
|
||||
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()`:获取指定字符的索引。
|
||||
@@ -202,6 +178,8 @@
|
||||
|
||||
因此可以得出一个技巧:**如果获取的索引值为0,说明字符串是以查询的参数为开头的**。
|
||||
|
||||
这个方法还可以指定第二个参数,用来 指定开始查找的位置。
|
||||
|
||||
**代码举例1**:
|
||||
|
||||
```javascript
|
||||
@@ -231,34 +209,76 @@
|
||||
|
||||
上方代码中,`indexOf()`方法中携带了两个参数,具体解释请看注释。
|
||||
|
||||
### 字符串的截取(重要)
|
||||
### concat()
|
||||
|
||||
字符串的截取有好几个方法,下面分别讲解。
|
||||
`concat()`:字符串的连接。
|
||||
|
||||
1、 **slice()**方法:
|
||||
|
||||
格式:
|
||||
语法:
|
||||
|
||||
```javascript
|
||||
字符串 = str.slice(索引1, 索引2); //两个参数都是索引值。
|
||||
新字符串 = str1.concat(str2); //链接两个字符串
|
||||
```
|
||||
|
||||
上面的参数,包左不包右。参数举例如下:
|
||||
这种方法基本不用,直接把两个字符串相加就好。
|
||||
|
||||
- (2,5) 表示正常,包左不包右。
|
||||
是的,你会发现,数组中也有`concat()`方法,用于数组的连接。这个方法在数组中用得挺多的。
|
||||
|
||||
- (2) 表示**从指定的索引位置开始,剪到最后**。
|
||||
|
||||
- (-3) 表示从倒数第几个开始,剪到最后.
|
||||
|
||||
- (5,2) 表示前面的大,后面的小,返回值为空。
|
||||
|
||||
2、**substr()**方法:
|
||||
|
||||
格式:
|
||||
代码举例:
|
||||
|
||||
```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("许")); //同理
|
||||
```
|
||||
|
||||
打印结果:
|
||||
|
||||

|
||||
|
||||
### 一些特殊方法
|
||||
|
||||
**1、trim()**:去除字符串前后的空白。
|
||||
@@ -300,23 +368,6 @@
|
||||
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("许")); //同理
|
||||
```
|
||||
|
||||
打印结果:
|
||||
|
||||

|
||||
|
||||
### 大小写转换
|
||||
|
||||
举例:
|
||||
@@ -326,6 +377,7 @@
|
||||
|
||||
//转换成小写
|
||||
console.log(str.toLowerCase());
|
||||
|
||||
//转换成大写
|
||||
console.log(str.toUpperCase());
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user