Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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 读取字符串直到出现整数_Java_String - Fatal编程技术网

Java 读取字符串直到出现整数

Java 读取字符串直到出现整数,java,string,Java,String,我需要读取文件的内容。该文件包含各种食品的名称和有关部分的信息: Name: Portions: APPLE JUICE, CANNED 1 CUP APPLE PIE 1 PIE 如何在不包含部分的情况下读取食物的完整名称?迭代字符串的字符,并检查代码是否为数字。其中数字的ascii码为48至57。要获取字符的acsii代码,请执行以下操作: char c = 'A'; int a

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

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

如何在不包含部分的情况下读取食物的完整名称?

迭代字符串的字符,并检查代码是否为数字。其中数字的ascii码为48至57。要获取字符的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
}
public int getIndexOfNumber(字符串s){
对于(int i=0;i如果(ascii>=48&&ascii假设您已经设置并读取了流(并且空格是分隔符),您可以执行以下操作:

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;
        }
    }
}

您是如何试图解决这个问题的?您编写过代码吗?最好的方法是使用正则表达式。请参阅java.util.regex包。
public static boolean isNumeric(String str)
{
  try  
  {  
    double d = Double.parseDouble(str);  
  }  
  catch(NumberFormatException nfe)  
  {  
    return false;  
  }  
  return true;
}