获取string类型按,切割 并且转换为long类型
要将一个字符串按逗号切割并转换为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 的元素 用,切割 返回long 数组
在编程中,将字符串按照特定分隔符(这里是逗号",")切割成元素,然后转换为 long 类型并存储到数组中,可以使用多种编程语言的内置函数或库来完成。这里以 Java 和 Python 为例:
Java 示例:
public static long[] splitStringToLongArray(String str) {
String[] elements = str.split(",");
long[] longArray = new long[elements.length];
for (int i = 0; i < elements.length; i++) {
try {
longArray[i] = Long.parseLong(elements[i]);
} catch (NumberFormatException e) {
// 处理非数字的情况,例如空值或包含非数字字符
System.out.println("Invalid value at index " + i);
}
}
return longArray;
}
Python 示例:
def split_string_to_long_array(s):
elements = s.split(',')
long_array = [long(num) for num in elements if num.isdigit()]
return long_array
# 使用时记得导入 `long` 类,因为 Python 3 中默认整数类型是 `int`
from long import long
在这两个示例中,我们首先通过逗号分割字符串,然后尝试将每个元素转换为 long
类型(Java 为 Long
,Python 为 long
),如果元素不能转换为数字会抛出异常(Java 里捕获 NumberFormatException
)。
string类型怎么装换成list<long>类型
将string类型转换成list
- 将string类型转换为vector
类型,可以使用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
- 将vector
类型转换为list 类型,可以使用标准库中的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
相关推荐











