Java 从字符串获取多个整数

Java 从字符串获取多个整数,java,regex,string,Java,Regex,String,我有一个字符串: "3, V, 11, H, 21, H" 而我正试图得到 int first = 3 int second = 11 int third = 21 我不确定该怎么做,因为数字可能是一个或两个数字,数字之间有非数字字符,我必须捕获多个数字。我尝试了regex,但剩下的“31121”没有指明这三个数字是什么。试试这段代码。应该能帮你完成任务 public static void main(String[] args){ String s = "3, V, 11, H,

我有一个字符串:

"3, V, 11, H, 21, H"
而我正试图得到

int first = 3
int second = 11
int third = 21

我不确定该怎么做,因为数字可能是一个或两个数字,数字之间有非数字字符,我必须捕获多个数字。我尝试了regex,但剩下的“31121”没有指明这三个数字是什么。

试试这段代码。应该能帮你完成任务

public static void main(String[] args){
    String s = "3, V, 11, H, 21, H";
    String[] t = s.split(" [ ,]*|,[ ,]*");
    int first = Integer.parseInt(t[0]);
    int second = Integer.parseInt(t[2]);
    int third = Integer.parseInt(t[4]);
    System.out.println(first);
    System.out.println(second);
    System.out.println(third);
}

试试这个代码。应该能帮你完成任务

public static void main(String[] args){
    String s = "3, V, 11, H, 21, H";
    String[] t = s.split(" [ ,]*|,[ ,]*");
    int first = Integer.parseInt(t[0]);
    int second = Integer.parseInt(t[2]);
    int third = Integer.parseInt(t[4]);
    System.out.println(first);
    System.out.println(second);
    System.out.println(third);
}

试试这个代码。应该能帮你完成任务

public static void main(String[] args){
    String s = "3, V, 11, H, 21, H";
    String[] t = s.split(" [ ,]*|,[ ,]*");
    int first = Integer.parseInt(t[0]);
    int second = Integer.parseInt(t[2]);
    int third = Integer.parseInt(t[4]);
    System.out.println(first);
    System.out.println(second);
    System.out.println(third);
}

试试这个代码。应该能帮你完成任务

public static void main(String[] args){
    String s = "3, V, 11, H, 21, H";
    String[] t = s.split(" [ ,]*|,[ ,]*");
    int first = Integer.parseInt(t[0]);
    int second = Integer.parseInt(t[2]);
    int third = Integer.parseInt(t[4]);
    System.out.println(first);
    System.out.println(second);
    System.out.println(third);
}

您可以将字符串按“
”、“
拆分,并使用from
org.apache.commons.lang.math.numberrutils
”检查它是否是一个数字:

检查字符串是否为有效的Java数字

有效数字包括用0x限定符标记的十六进制, 用类型限定符标记的科学符号和数字(例如。 123L)

Null和空字符串将返回false


如果要检查字符串是否只包含数字,可以使用

将字符串拆分为“
”、“
并使用from
org.apache.commons.lang.math.NumberUtils检查它是否为数字:

检查字符串是否为有效的Java数字

有效数字包括用0x限定符标记的十六进制, 用类型限定符标记的科学符号和数字(例如。 123L)

Null和空字符串将返回false


如果要检查字符串是否只包含数字,可以使用

将字符串拆分为“
”、“
并使用from
org.apache.commons.lang.math.NumberUtils检查它是否为数字:

检查字符串是否为有效的Java数字

有效数字包括用0x限定符标记的十六进制, 用类型限定符标记的科学符号和数字(例如。 123L)

Null和空字符串将返回false


如果要检查字符串是否只包含数字,可以使用

将字符串拆分为“
”、“
并使用from
org.apache.commons.lang.math.NumberUtils检查它是否为数字:

检查字符串是否为有效的Java数字

有效数字包括用0x限定符标记的十六进制, 用类型限定符标记的科学符号和数字(例如。 123L)

Null和空字符串将返回false


如果要检查字符串是否只包含数字,可以使用

将该字符串拆分为
,然后检查每个部分是否都是如下所示的数字:

import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        String str = "3, V, 11, H, 21, H";
        String[] parts = str.split(", ");
        ArrayList<Integer> listNumbers = new ArrayList<Integer>();
        for(String x : parts){
         try{
           listNumbers.add( Integer.parseInt(x) );  
         }
         catch(Exception e){}    
        }

        for(int i=0;i<listNumbers.size();i++) System.out.println("Number "+(i+1)+" : "+listNumbers.get(i));
    }

}
import java.util.*;
公共类HelloWorld{
公共静态void main(字符串[]args){
String str=“3,V,11,H,21,H”;
String[]parts=str.split(“,”);
ArrayList ListNumber=新的ArrayList();
用于(字符串x:零件){
试一试{
add(Integer.parseInt(x));
}
捕获(例外e){}
}

对于(int i=0;i您可以将此字符串按
拆分,然后检查每个部分是否都是如下所示的数字:

import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        String str = "3, V, 11, H, 21, H";
        String[] parts = str.split(", ");
        ArrayList<Integer> listNumbers = new ArrayList<Integer>();
        for(String x : parts){
         try{
           listNumbers.add( Integer.parseInt(x) );  
         }
         catch(Exception e){}    
        }

        for(int i=0;i<listNumbers.size();i++) System.out.println("Number "+(i+1)+" : "+listNumbers.get(i));
    }

}
import java.util.*;
公共类HelloWorld{
公共静态void main(字符串[]args){
String str=“3,V,11,H,21,H”;
String[]parts=str.split(“,”);
ArrayList ListNumber=新的ArrayList();
用于(字符串x:零件){
试一试{
add(Integer.parseInt(x));
}
捕获(例外e){}
}

对于(int i=0;i您可以将此字符串按
拆分,然后检查每个部分是否都是如下所示的数字:

import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        String str = "3, V, 11, H, 21, H";
        String[] parts = str.split(", ");
        ArrayList<Integer> listNumbers = new ArrayList<Integer>();
        for(String x : parts){
         try{
           listNumbers.add( Integer.parseInt(x) );  
         }
         catch(Exception e){}    
        }

        for(int i=0;i<listNumbers.size();i++) System.out.println("Number "+(i+1)+" : "+listNumbers.get(i));
    }

}
import java.util.*;
公共类HelloWorld{
公共静态void main(字符串[]args){
String str=“3,V,11,H,21,H”;
String[]parts=str.split(“,”);
ArrayList ListNumber=新的ArrayList();
用于(字符串x:零件){
试一试{
add(Integer.parseInt(x));
}
捕获(例外e){}
}

对于(int i=0;i您可以将此字符串按
拆分,然后检查每个部分是否都是如下所示的数字:

import java.util.*;
public class HelloWorld{

     public static void main(String []args){
        String str = "3, V, 11, H, 21, H";
        String[] parts = str.split(", ");
        ArrayList<Integer> listNumbers = new ArrayList<Integer>();
        for(String x : parts){
         try{
           listNumbers.add( Integer.parseInt(x) );  
         }
         catch(Exception e){}    
        }

        for(int i=0;i<listNumbers.size();i++) System.out.println("Number "+(i+1)+" : "+listNumbers.get(i));
    }

}
import java.util.*;
公共类HelloWorld{
公共静态void main(字符串[]args){
String str=“3,V,11,H,21,H”;
String[]parts=str.split(“,”);
ArrayList ListNumber=新的ArrayList();
用于(字符串x:零件){
试一试{
add(Integer.parseInt(x));
}
捕获(例外e){}
}

对于(inti=0;i
我尝试了regex,但最后只剩下“31121”
我们可以看到生成此输出的代码吗?而且您的数据的格式似乎是
数字、数据、数字、数据、数字、数据,…
。在这种情况下,您可以用逗号分割输入,并将每个偶数索引元素解析为整数。
我尝试了regex,但剩下的是“31121”
我们可以看到生成此输出的代码吗?而且您的数据的格式似乎是
数字、数据、数字、数据、数字、数据,…
。在这种情况下,您可以用逗号分割输入,并将每个偶数索引元素解析为整数。
我尝试了regex,但剩下的是“31121”
我们可以看到生成此输出的代码吗?而且您的数据的格式似乎是
数字、数据、数字、数据、数字、数据,…
。在这种情况下,您可以用逗号分割输入,并将每个偶数索引元素解析为整数。
我尝试了regex,但剩下的是“31121”
我们可以看到生成此输出的代码吗?而且您的数据的格式似乎是
数字、数据、数字、数据、数字、数据,…
。在这种情况下,您可以使用逗号分割输入,并将每个偶数索引元素解析为整数。您应该使用
.trim()
。我认为
t[2]
应该是“11”@mikeyaworski不,不是因为你把它分开了