字符串轉數組
字符串轉數組工具說明
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 )
```
以上都是基于空格作為分隔符來將字符串轉換為數組,你可以根據需要更改分隔符。