stream 字符串 转数组
时间: 2023-10-12 10:06:18 浏览: 160
您可以使用.split()方法将字符串拆分为数组。这个方法可以接受一个分隔符作为参数,并返回一个以该分隔符分隔的字符串的数组。以下是一个例子:
```python
stream = "1,2,3,4,5"
arr = stream.split(",")
print(arr)
```
输出:
```
['1', '2', '3', '4', '5']
```
在上面的例子中,我们使用逗号作为分隔符将字符串拆分为数组。您可以根据您的需求选择适当的分隔符。
相关问题
jdk11字符串转数组
### JDK 11 中字符串转数组的方法
在 JDK 11 中,可以使用多种方式将 `String` 转换为字符数组或其他类型的数组。以下是几种常见的方式:
#### 使用 `toCharArray()` 方法
最直接的方法是调用 `String` 类中的 `toCharArray()` 函数来获得一个包含该字符串所有字符的字符数组。
```java
public class Main {
public static void main(String[] args) {
String str = "hello";
char[] charArray = str.toCharArray();
for (char c : charArray) {
System.out.println(c);
}
}
}
```
此方法简单高效,适用于大多数场景[^1]。
#### 利用正则表达式分割字符串
另一种常用的技术是利用 `split()` 方法配合特定模式(通常是空白符或自定义分隔符),从而得到由子串组成的字符串数组。
```java
public class Main {
public static void main(String[] args) {
String sentence = "This is a test.";
String delimiter = "\\s"; // 正则表达式的空格匹配
String[] words = sentence.split(delimiter);
for (String word : words) {
System.out.println(word);
}
}
}
```
这种方式特别适合处理带有明显界限标志的数据集,比如逗号分隔列表等[^2]。
#### 基于流操作实现更复杂的转换逻辑
对于更加复杂的需求,还可以借助 Java Stream API 来完成一系列中间操作后再收集结果至集合类容器中去。
```java
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
String numbersStr = "1,2,3,4,5";
List<Integer> numberList = Arrays.stream(numbersStr.split(","))
.map(Integer::parseInt)
.toList();
System.out.println(numberList);
}
}
```
上述例子展示了如何先通过 `split()` 将原始字符串拆分成多个部分,再映射成整数并最终打包进不可变列表里[^3]。
字符串转数组的函数为
字符串转数组的函数可以使用C++中的stringstream类,具体的实现方法如下:
```c++
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
int main()
{
string str = "1 2 3 4 5";
stringstream ss(str);
vector<int> arr;
int num;
while (ss >> num)
{
arr.push_back(num);
}
for (int i = 0; i < arr.size(); i++)
{
cout << arr[i] << " ";
}
return 0;
}
```
在上面的代码中,我们首先定义了一个字符串`str`,然后创建了一个stringstream对象`ss`,将`str`作为参数传递给`ss`。接着我们定义了一个整型向量`arr`,以及一个整型变量`num`。在while循环中,我们使用stringstream的输入运算符(>>)来从字符串中逐个读取整数,并将它们添加到`arr`中。最后,我们遍历`arr`并将所有元素打印出来。
阅读全文