获取string类型按,切割 并且转换为long类型
时间: 2024-03-25 07:35:47 浏览: 147
要将一个字符串按逗号切割并转换为long类型,您可以使用Java中的String.split()方法和Long.parseLong()方法。以下是一个示例代码片段,演示了如何将一个逗号分隔的字符串转换为long类型的数组:
```
String str = "123,456,789";
String[] strArray = str.split(",");
long[] longArray = new long[strArray.length];
for (int i = 0; i < strArray.length; i++) {
longArray[i] = Long.parseLong(strArray[i]);
}
```
在这个示例中,我们首先将逗号分隔的字符串存储在一个名为“str”的变量中。然后,我们使用String.split()方法将其分割为一个字符串数组。接下来,我们创建一个名为“longArray”的long类型数组,其长度与字符串数组相同。最后,我们使用Long.parseLong()方法将每个字符串转换为long类型,并将其存储在long类型数组中。
请注意,如果您的字符串中包含非数字字符(例如空格或字母),则Long.parseLong()方法将抛出NumberFormatException异常。您可以在代码中添加适当的异常处理代码来处理这种情况。
相关问题
string类型怎么装换成list<long>类型
将string类型转换成list<long>类型需要进行以下步骤:
1. 将string类型转换为vector<string>类型,可以使用split函数或者istringstream进行分离。例如,我们可以使用split函数,代码如下:
```
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> split(const std::string& str, const char delim) {
std::vector<std::string> res;
std::stringstream ss(str);
std::string token;
while (std::getline(ss, token, delim)) {
res.push_back(token);
}
return res;
}
int main() {
std::string s = "1-2-3-4-5";
char delim = '-';
std::vector<std::string> tmp = split(s, delim);
return 0;
}
```
以上代码中,split函数可以将字符串s按照delim字符进行切割,存储在vector<string>中。这里用了stringstream的好处是,我们可以用getline函数读取stringstream中的值,以delim为分隔符。
2. 将vector<string>类型转换为list<long>类型,可以使用标准库中的transform函数,把每个string类型直接转换成long类型,代码如下:
```
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
#include <list>
#include <algorithm>
std::vector<std::string> split(const std::string& str, const char delim) {
std::vector<std::string> res;
std::stringstream ss(str);
std::string token;
while (std::getline(ss, token, delim)) {
res.push_back(token);
}
return res;
}
int main() {
std::string s = "1-2-3-4-5";
char delim = '-';
std::vector<std::string> tmp = split(s, delim);
std::list<long> res;
std::transform(tmp.begin(), tmp.end(), std::back_inserter(res),
[](const std::string& s) { return std::stol(s); });
return 0;
}
```
以上代码中,在使用transform函数过程中,我们可以编写一个lambda表达式将每一个string类型的值直接转换成long类型,并将结果插入到list中。
综上所述,可以使用split函数和transform函数,将string类型转换成list<long>类型。
阅读全文