2015-04-12 2 views
0

Как извлечь каждую строку из A B -> carry sum без ->? Поэтому мне нужно получить только ABcarrysum. Как это можно сделать?Чтение строки, игнорирующей особые значения

A B -> carry sum передается в виде строки в метод.

public void parseContactsLine(String line) 
{ 
    Scanner readLine = new Scanner(line); 

    while(readLine.hasNext()) 
    { 

    } 
} 
+0

ли помочь http://stackoverflow.com/questions/756567/regular-expression-for-excluding-special-characters? – Andy

+0

Im not familiat с регулярным выражением @ Andy – Nikolay

ответ

0

Вы можете разбить строку вокруг пространства, и игнорировать -> вы можете использовать регулярное выражение, используйте функцию String.split, или даже перебирать струны и сделать это самостоятельно

+0

как? @AndrewGrant – Nikolay

+0

Вы знаете, что каждый вход будет иметь 5 строк, разделенных источниками, вы знаете, что третий - это стрелка. Похоже, вы делаете это для класса, поэтому реализация самой функции идеально – AndrewGrant

2

Вы можете разделить строка используя split() метод:

public void parseContactsLine(String line) 
{ 
    Scanner readLine = new Scanner(line); 

    while(readLine.hasNext()) 
    { 
     String[] parts = line.split("->"); 
     int a = Integer.parseInt(parts[0].split("\\s+")[0]); // Split string by whitespaces 
     int b = Integer.parseInt(parts[0].split("\\s+")[1]);    
     int carry = Integer.parseInt(parts[1].trim().split("\\s+")[0]); 
     int sum = Integer.parseInt(parts[1].trim().split("\\s+")[1]); 
     // Do whatever you want with a, b, carry and sum 
    } 
} 
Смежные вопросы