如何将特定格式的String转换为Integer

时间:2013-06-10 06:39:16

标签: java

我有String,我想转换成Integer。

示例 - 我的字符串格式为

输入:ABCD00000123

输出:123

先谢谢

3 个答案:

答案 0 :(得分:8)

// First remove all non number characters from String 
input= input.replaceAll( "[^\\d]", "" );  
// Convert it to int
int num = Integer.parseInt(input);

例如

input = "ABCD00000123"; 

之后

input= input.replaceAll( "[^\\d]", "" );   

输入将是" 00000123"

 int num = Integer.parseInt(input);

int将是123.

如果输入始终采用问题中提到的格式,这是一个简单的解决方案。考虑到数字字符相对于非数字字符的位置,可以有多种情况 0123ABC
0123ABC456
ABC0123DE

答案 1 :(得分:1)

String s = "ABCD00000123"
int output = Integer.parseInt(s.subString(4));

System.out.println(output);

答案 2 :(得分:0)

我可以告诉你它的逻辑...把这个String转换成一个字符数组,然后从第一个索引(对于数组为0)解析它,直到长度并检查第一个非零整数,然后从该位置到String的剩余长度将其复制到另一个String,然后使用Integer.parseInt()解析它;

String val = "ABCD00000123";
String arr[] = val.toCharArray();
int cnt;
for(cnt = 0 ; cnt < arr.length; cnt++){
switch(arr[cnt]){

/*Place your logic here to check the first non-zero number*/

}
}

然后按照剩下的逻辑。

如果你有足够的编程概念,那么只有你能做到......