字符串转数组
更新时间:2024-09-29 21:32:12
字符串转数组工具说明
JS字符串和数组之间的转换
使用字符串的 split() 方法可以根据指定的分隔符把字符串切分为数组。
如果使用数组的 join() 方法,可以把数组元素连接为字符串。
示例1
如果参数为空字符串,则 split() 方法能够按单个字符进行切分,然后返回与字符串等长的数组。
var s = "JavaScript";
var a = s.split(""); //按字符空隙分隔
console.log(s.length); //返回值为10
console.log(a.length); //返回值为10
示例2
如果参数为空,则 split() 方法能够把整个字符串作为一个元素的数组返回。
var s = "JavaScript";
var a = s.split(""); //空分隔
console.log(a.constructor == Array); //返回true,说明Array是实例
console.log(a.length); //返回值为1,说明没有对字符串进行分割
示例3
如果参数为正则表达式,则 split() 方法能够以匹配文本作为分隔符进行切分。
var s = "a2b3c4d5e678f12g";
var a = s.split(/\d+/); //把以匹配的数字为分隔符来切分字符串
console.log(a); //返回数组[a,b,c,d,e,f,g]
console.log(a.length); //返回数组长度为7
示例4
如果正则表达式匹配的文本位于字符串的边沿,则 split() 方法也执行切分操作,且为数组添加一个空数组。
var s = "122a2b3c4d5e678f12g";
var a = s.aplit(/\d+/);
console.log(a);
console.log(a.length);
如果在字符串中指定的分隔符没有找到,则返回一个包含整个字符串的数组。
示例5
split() 方法支持第二个参数,该参数是一个可选的整数,用来指定返回数组的最大长度。如果设置了该参数,则返回的数组长度不会大于这个参数指定的值;如果没有设置该参数,那么整个字符串都被分割,不会考虑数组长度。
var s = "JavaScript";
var a = s.split("", 4); //按顺序从左到右,仅分切4个元素的数组
console.log(a); //返回数组[J,a,v,a]
console.log(a.length); //返回值为4
示例6
如果想使返回的数组包括分隔符或分隔符的一个或多个部分,可以使用带子表达式的正则表达式来实现。
var s = "aa2bb3cc4dd5e678f12g";
var a = s.split(/(\d)/); //使用小括号包含数字分隔符
console.log(a); //返回数组[aa,2,bb,3,cc,4,dd,5,e,6,,7,,8,f,1,,2,g]
以下是在几种主要的编程语言中如何将字符串转换为数组:
1. 在JavaScript中,你可以使用.split()方法:
```javaScript
var str = "Hello World";
var arr = str.split(" ");
console.log(arr); // 输出 ["Hello", "World"]
```
2. 在Python中,你可以使用.split()方法:
```python
str = "Hello World"
arr = str.split(" ")
print(arr) # 输出 ['Hello', 'World']
```
3. 在Java中,你可以使用.split()方法:
```java
String str = "Hello World";
String[] arr = str.split(" ");
System.out.println(Arrays.toString(arr)); // 输出 [Hello, World]
```
4. 在PHP中,你可以使用 explode() 函数:
```php
$str = "Hello World";
$arr = explode(" ", $str);
print_r($arr); // 输出 Array ( [0] => Hello [1] => World )
```
以上都是基于空格作为分隔符来将字符串转换为数组,你可以根据需要更改分隔符。