2014-06-16 2 views
0

파일의 내용을 읽어야합니다. 이 파일에는 부분과 관련된 다양한 식품 및 정보의 이름이 들어 있습니다. 부분을 포함하지 않고 식품의 전체 이름을 읽을 수있는 방법은 무엇입니까?정수가 나타날 때까지 문자열 읽기

+3

이 문제를 어떻게 해결하려고 했습니까? –

+2

코드를 작성 했습니까? – Braj

+2

최선의 방법은 정규 표현식을 사용하는 것입니다. java.util.regex 패키지를 참조하십시오. – gmcgath

답변

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

,536 스트림은,이 같은 일을 할 수있는 설정과 독서 (과 공간은 분리 문자입니다)
public static boolean isNumeric(String str) 
{ 
    try 
    { 
    double d = Double.parseDouble(str); 
    } 
    catch(NumberFormatException nfe) 
    { 
    return false; 
    } 
    return true; 
} 
2

문자열의 문자를 반복하고 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 
} 
관련 문제