2015-09-16 9 views
-2

У меня небольшая проблема, надеюсь, вы сможете помочь.Строка, разделенная на CSV-Java

Я читаю CSV в Java, в котором одна из колонки имеет строку следующим образом:

а. "123345"

b. "12345 - 67890"

Я хочу разделить это как (Разделить его на две отдельные колонки):

а. «123345», «

b. «12345», «67890»

Теперь, когда я использую разделение по умолчанию функции Java, она разбивает строку следующим образом:

а. "123345,"

b. «12345,67890» (что является в основном строкой)

Любая идея, как я могу это достичь? Я потратил 3 часа на это. Надеюсь, кто-то может помочь.

код следующим образом:

while ((line = bufferReader.readLine()) != null) 
{ 
     main = line.split("\\,"); //splitting the CSV using "," 

    //I know that column # 13 is the column where I can find digits like "123-123" etc.. 
therefore I have hard coded it. 


if (main[12].contains("-")) 
    { 
    temp = main[12].split("-"); 
    //At this point, when I print temp, it still shows me a string. 
    //What I have to do is to write them to the csv file. 
    E.g: ["86409, 3567"] <--Problem here! 
    } 
    else 
    { 
    //do nothing 
    } 
} 
after this, i will write the main[] array to the file. 
+2

Можете ли вы показать нам код, который вы в настоящее время используется для разделения строки? –

+0

см. Код выше. Извините за задержку. – user4618280

+0

вы можете заменить все '-' на ','. Используйте 'main [12] .replaceAll (" - ",", ");' – Natalia

ответ

0

Пожалуйста, проверьте, если java.util.StringTokenizer помогает

Пример:

StringTokenizer Tokenizer = новый StringTokenizer (inputString, ";")

Руководство пользователя: StringTokenizer docs

+0

пробовал. Тот же результат. – user4618280

Смежные вопросы