读取字符串直到出现整数

时间:2014-06-16 22:18:16

标签: java string

我需要读取文件的内容。该文件包含各种食品的名称和有关部分的信息:

Name:                         Portions:
APPLE JUICE, CANNED           1 CUP
APPLE PIE                     1 PIE  

如何在不包含部分的情况下阅读食品的全名?

2 个答案:

答案 0 :(得分:2)

迭代字符串的字符并检查ascii代码是否为数字。其中数字的ascii代码为48到57.要获取char的acsii代码,请执行以下操作:

char c = 'A';
int ascii = (int)c;
System.out.println(ascii); //prints 65

所以整个代码看起来像:

public int getIndexOfNumber(String s){
    for(int i = 0; i < s.length(); i++){
        int ascii = (int)s.charAt(i);
        if(ascii >= 48 && ascii <= 57)
            return i;
    }
    return -1; //not found
}

答案 1 :(得分:0)

假设您已经设置并阅读了流,(并且空格是您的分隔符),您可以执行以下操作:

while((line = stream.readLine()) != null)
{
    String[] words = line.split(" ");
    for(int index = 0; index < words.length; index++)
    {
        if(isNumeric(words[index]))
        {
            //you found a number. do something here;
        }
    }
}

在此处定义函数:How to check if a String is numeric in Java

public static boolean isNumeric(String str)
{
  try  
  {  
    double d = Double.parseDouble(str);  
  }  
  catch(NumberFormatException nfe)  
  {  
    return false;  
  }  
  return true;
}