如何读取与数字和字符混合的字符串中的单个整数?

时间:2013-01-26 04:39:58

标签: java integer

例如,如果我有 0]+4

我如何阅读和吃零?

编辑:所以看起来我一直都不清楚。让我编辑一下。 我想要做的就是获得出现在一串数字和字符中的第一个整数。文本的第一部分总是一个整数。我可以有这个的任何组合。例如,我可以有以下任何一种:
43SOMETEXT424 3blahblahblah64blahblahblah 5MoreText

我将分别从阅读本文中返回43,3和5。

6 个答案:

答案 0 :(得分:0)

如果不知道你正在做什么的背景,这是一个很长的镜头......但是这段代码可行:

Integer.parseInt("0]+4".charAt(0));

如果你真的只想要'0',只需将你所拥有的值读入一个字符串,并在字符串的第一个字符上调用Integer.parseInt()

答案 1 :(得分:0)

    int n = NumberFormat.getInstance().parse("0]+4").intValue();

奇怪,因为看起来似乎没有ParseException,这就是NumberFormat / DecimalFormat如何工作

答案 2 :(得分:0)

public static void main(String[] args) {
    String s = "0]+4";
    for (int i = 0; i < s.length(); i++) {
        char c = s.charAt(i);
        if (Character.isDigit(c)) {

            System.out.println(c);
        }
    }
}

试试这个。我想这就是你想要的......是吗?

答案 3 :(得分:0)

public char getNumber(final String str){
    final String onlyNumbers = str.replaceAll("[^0-9]", "");
    return (char) (onlyNumbers.length() > 0 ? onlyNumbers.charAt(0) - '0' : -1);
}

考虑使用正则表达式。这不会解析负数,但我怀疑你需要在这里找到它们。

答案 4 :(得分:0)

你可以使用模式

  Pattern pattern;
   pattern = Pattern.compile("\\d");
   String st=jTextField1.getText();
   Matcher matcher = pattern.matcher(st);
system.out.prinl(matcher.group());

答案 5 :(得分:0)

public static void main(String[] args){
    Scanner in=new Scanner(System.in)
    int number=in.nextInt();
}

//put loop for nextInt fun as many time as you want to get the required number