Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在字符串中查找int值_Java_String_Parsing_Int_Parseint - Fatal编程技术网

Java 如何在字符串中查找int值

Java 如何在字符串中查找int值,java,string,parsing,int,parseint,Java,String,Parsing,Int,Parseint,我有一个字符串,例如,“ksl13m4n”,我想删除所有非数字字符以获取int 134 Integer.parseInt(s)显然不起作用,但不确定如何处理它。您可以先使用正则表达式: String s = "ksl13 m4n"; String clean = s.replaceAll("\\D+",""); //remove non-digits 然后可以使用Integer.parseInt: int i = Integer.parseInt(clean); 如果你不想使用正则表达式,你

我有一个字符串,例如,
“ksl13
m4n”
,我想删除所有非数字字符以获取int 134


Integer.parseInt(s)
显然不起作用,但不确定如何处理它。

您可以先使用正则表达式:

String s = "ksl13 m4n";
String clean = s.replaceAll("\\D+",""); //remove non-digits
然后可以使用
Integer.parseInt

int i = Integer.parseInt(clean);

如果你不想使用正则表达式,你可以这样做:

private String buildNumber(String str) {
    StringBuilder strBuilder = new StringBuilder();
    for (int i = 0; i < str.length(); i++) {
        char ch = str.charAt(i);
        if(Character.isDigit(ch)) 
            strBuilder.append(ch);
    }
    return strBuilder.toString();
}
private String buildNumber(String str){
StringBuilder strBuilder=新StringBuilder();
对于(int i=0;i
然后可以使用将其转换为
int

有关更多信息,请参阅和。

String str=“ksl13 m4n”

字符串strArray[]=str.split(“\D+”);将为您提供整数值数组

使用类
模式
字符串#replaceAll(字符串,字符串)
。@FraserPrice
\\D+
的可能重复项将删除除以下项以外的任何内容:
0123456789
。真的
\\D+
相当于
[a-z | a-z]
,意味着替换除小数以外的所有字符?@Azad
\\D+
相当于
[^0-9]+
只是一个旁注,
字符.isDigit
比regex中的
\D
宽一点,因为它可以匹配国际数字字符()。事实上。如果这很重要,他可以使用
'0'轻松检查
0-9
数字&&