获取字符串Java中空格后的值
我有一串值 像获取字符串Java中空格后的值,java,string,extract,Java,String,Extract,我有一串值 像 String line= "cpu 74608 2520 24433 1117073 6176 4054"; 我只想提取这些值并将它们存储在不同的变量中 有什么方法可以得到每个空格后的数值吗 您可以选择的方法之一是使用方法。它接受正则表达式,因此您可以跳过任意数量的空格: String[] values = line.split("\\s*"); 然后必须将这些字符串转换为所需的值: int firstNum = Integer.valueOf(valu
String line= "cpu 74608 2520 24433 1117073 6176 4054";
我只想提取这些值并将它们存储在不同的变量中
有什么方法可以得到每个空格后的数值吗 您可以选择的方法之一是使用方法。它接受正则表达式,因此您可以跳过任意数量的空格:
String[] values = line.split("\\s*");
然后必须将这些字符串
转换为所需的值:
int firstNum = Integer.valueOf(values[1]);
// anything like this
如果您可以将其存储为数组/列表,但不能存储为不同的变量,那么您可能希望以这种方式提取所有数字(Java 8):
也许,更简单的方法是使用:
您可以选择的一个方法是使用方法。它接受正则表达式,因此您可以跳过任意数量的空格:
String[] values = line.split("\\s*");
然后必须将这些字符串
转换为所需的值:
int firstNum = Integer.valueOf(values[1]);
// anything like this
如果您可以将其存储为数组/列表,但不能存储为不同的变量,那么您可能希望以这种方式提取所有数字(Java 8):
也许,更简单的方法是使用:
输出:
123
456
123
578
输出:
123
456
123
578
您可以首先将数据拆分为一个数组:
String [] lineSplit = line.split("\\s+");
然后开始将数据解析为单个变量:
int foo = 0;
for(int i = 0; i < lineSplit.length; i++) {
if(lineSplit[i].matches("\\d+") {
foo = Integer.parseInt(lineSplit[i]);
}else {
//Do something else...
}
}
intfoo=0;
对于(int i=0;i
对不同的数据类型重复上述操作,并添加变量等,以获得所需的结果。您可以从将数据拆分为数组开始:
String [] lineSplit = line.split("\\s+");
然后开始将数据解析为单个变量:
int foo = 0;
for(int i = 0; i < lineSplit.length; i++) {
if(lineSplit[i].matches("\\d+") {
foo = Integer.parseInt(lineSplit[i]);
}else {
//Do something else...
}
}
intfoo=0;
对于(int i=0;i
对不同的数据类型重复上述操作,并添加变量等,以获得所需的结果。可以。
使用String.split()
和Integer.parseInt()
如下所示:
String[] split = line.split("\\s+");
List<Integer> numbers = new ArrayList<Integer>();
for (String num: split) {
try {
numbers.add(Integer.parseInt(num));
} catch (NumberFormatException ex) {
// not a number
}
}
String[]split=line.split(\\s+);
列表编号=新的ArrayList();
用于(字符串编号:拆分){
试一试{
add(Integer.parseInt(num));
}捕获(NumberFormatException ex){
//不是数字
}
}
是的,你可以。
使用String.split()
和Integer.parseInt()
如下所示:
String[] split = line.split("\\s+");
List<Integer> numbers = new ArrayList<Integer>();
for (String num: split) {
try {
numbers.add(Integer.parseInt(num));
} catch (NumberFormatException ex) {
// not a number
}
}
String[]split=line.split(\\s+);
列表编号=新的ArrayList();
用于(字符串编号:拆分){
试一试{
add(Integer.parseInt(num));
}捕获(NumberFormatException ex){
//不是数字
}
}
split方法可以帮助您实现这一点。只需添加一个regex作为分隔符,将得到一个数组,其中填充了您要查找的值。注意,使用@Stultuske的代码,您将得到一个字符串数组。必要时,您必须将数据转换/解析为适当的类型。split方法可以请看这里。只需添加一个正则表达式作为分隔符,用于无限个空格,您将得到一个数组,数组中填充了您要查找的值。请注意,使用@Stultuske的代码,您将得到一个字符串数组。必要时,您必须将数据转换/解析为适当的类型。关于措辞的旁注:任何人都不必使用split()为了解决这个问题。还有其他选项;因此不需要人为地将选项空间减少为“拆分”。感谢您让它运行起来@Dmitry@Jägermeister好的,我会修正措辞。措辞的旁注:没有人必须使用split()来解决这个问题。还有其他选项;因此没有必要人为地将选项空间减少到“分开”谢谢你让它运行起来了@Dmitry@J好的,我来修改措辞。