2013-12-09 5 views
0

Представьте себе этот массив.Как я могу принести текст StringTokenizer

data[0] = <a href="/item/main.nhn?code=002530" class="tltle">Marine</a> 
data[1] = <a href="/item/main.nhn?code=068270" class="tltle">Medic</a> 
data[2] = <a href="/item/main.nhn?code=053800" class="tltle">Firebat</a> 

Я хочу принести атрибут кода (002530, 068270, 053800) закодировать [] массив. и чистый текст (Marine, Medic, Firebat). Как это:

code[0] = 002530 
code[1] = 068270 
code[2] = 053800 
text[0] = Marine 
text[1] = Medic 
text[2] = Firebat 

Как я могу это сделать? Должен ли я использовать StringTokenizer? или split()? Я не знаю, как это получить. Пожалуйста помогите. Спасибо.

+0

Почему бы не использовать регулярные выражения ?, что-то li ke http://fiddle.re/hvu88 (Нажмите java для запуска регулярного выражения) –

+0

@Avolpe Я этого не знаю. Я новичок в Java. Я пытаюсь использовать StringTokenizer. Но это очень сложно для меня ... может быть, мне нужно остаться всю ночь ... – JuntaeKim

+0

@Avolpe Как я могу это использовать? Я никогда не слышал о регулярных выражениях. можете ли вы написать простой пример или полный исходный код? спасибо ... – JuntaeKim

ответ

0

Вы можете использовать регулярные выражения, See this Voguella tutorial

".*code=([0-9]*).*>([A-Za-z]*)<.*" 

И такой код:

String[] array = new String[3]; 
    array[0] = "<a href=\"/item/main.nhn?code=002530\" class=\"tltle\">Marine</a>"; 
    array[1] = "<a href=\"/item/main.nhn?code=068270\" class=\"tltle\">Medic</a>"; 
    array[2] = "<a href=\"/item/main.nhn?code=053800\" class=\"tltle\">Firebat</a>"; 

    Pattern pattern = Pattern.compile(".*code=([0-9]*).*>([A-Za-z]*)<.*"); 

    for (int i = 0; i < array.length; i++) { 
     String string = array[i]; 
     Matcher ma = pattern.matcher(string); 
     System.out.println("Code " + i + ":" + ma.replaceFirst("$1")); 
     System.out.println("Text " + i + ":" + ma.replaceFirst("$2")); 
    } 

увидеть рабочий пример: http://ideone.com/WJIjM5

Obs: помните, чтобы избежать "в вашем строки

+0

Очень Очень Спасибо. Я действительно впечатлил ... T.T – JuntaeKim

+0

уверен, что если вы хотите получить помощь, пришлите мне электронное письмо (см. Мой профиль). Приветствия и хороший ланч с вашей программой sc! –

+0

Могу я задать еще один вопрос, пожалуйста? 'Marine' мой код. но вы показываете мне 'Marine' ** Дифференциал двух - это косые черты. ** Я не могу применить к моему коду .. T.T Можете ли вы мне помочь ...? – JuntaeKim

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