如何解析Java中字符串的整数?

时间:2012-03-30 00:07:13

标签: java string parsing

我需要从字符串中将分母和分母检索到两个int类型变量中。它可能是: “1 / -2”,“4/0”,“ - 2/1234”或“5”(在这种情况下,分母为1);

整数和“/”之间可能有空格,整数内没有空格。 并且字符串中可能只有一个整数而没有“/".

有什么想法吗?感谢。

嗨,我结合了你们这些家伙的答案,这很有效!谢谢!

s是字符串

s = s.trim();

String[] tokens = s.split("[ /]+");

int inputNumerator = Integer.parseInt(tokens[0]);

int inputDenominator = 1;

if (tokens.length != 1)

      `inputDenominator = Integer.parseInt(tokens[1]);`

4 个答案:

答案 0 :(得分:6)

String[] parts = s.split(" */ *");
int num = Integer.parseInt(parts[0]),
    den = Integer.parseInt(parts[1]);

答案 1 :(得分:3)

使用'/'作为分隔符分隔字符串,然后删除所有空格。 之后使用Integer.parseInt();
要很好地删除空格,您可以尝试检查第一个字符串的最后一个字符串和第二个字符串的第一个字符串,将它们与''进行比较,如果匹配则删除它们。

答案 2 :(得分:0)

答案 3 :(得分:0)

希望这会有所帮助..,

StringTokenizer st= new StringTokenizer(s, "/");   
int inputDenominator,inputNumerator;

if(st.hasMoreTokens()) 
{
String string1= st.nextToken();
string1=string1.trim();
inputNumerator = Integer.parseInt(string1);
}

if(st.hasMoreTokens()) 
{
String string2= st.nextToken();
string2=string2.trim();
inputDenominator = Integer.parseInt(string2);
} 
else{
inputDenominator=1; 
}