2013-12-07 4 views
1
A 24-year-old youth died on the spot, after his motorcycle 
rammed a divider near Golf market on <LOCATION>BelAir</LOCATION> road 
Thursday night. The deceased has been identified as 
John(24) hailing from <LOCATION>UK</LOCATION>. 

He was originally from <LOCATION>Usa</LOCATION>. 

Приговоры - это два разных абзаца. Я хочу, чтобы выход выглядеть следующим образом:Как извлечь строку из абзаца?

Para 1:BelAir 
     UK 

Para 2:Usa 

Я определил регулярное выражение для тегов, как:

<(?<tag>\w*)>(?<text>.*)</\k<tag>> 

и пункты как:

(\n|^).*?(?=\n|$) 

Есть ли способ объединить эти ? Или, может быть, я должен использовать раскол?

+0

Является ли это встроенным в какой-либо HTML-код или другую разметку или является автономной? – chrylis

+0

нет его автономного. На самом деле его вывод stanfords ner tagger – user3075547

ответ

0

Проверить, если строка начинается с '\ п'

while(){//read line 
    if(string.startsWith("\n")==false){ 
    // your regex expration for tags 
    // store it in a list 
    } 
    else{ 
    // add a null in a List 
    } 
} 

поэтому ваш список выглядит как

BelAir 
US 
Null 
USA 

Таким образом, после каждого обнулить есть новый пункт

+0

O. ok..thanks плохо проверьте, что вне – user3075547

0

Попробуйте

String str = "A 24-year-old youth died on the spot, after his motorcycle " + 
      "rammed a divider near Golf market on <LOCATION>BelAir</LOCATION> road" + 
      " Thursday night. The deceased has been identified as John(24) hailing from <LOCATION>UK</LOCATION>." + 
      "\n He was originally from <LOCATION>Usa</LOCATION>."; 
    String [] paras=str.split("\n"); //Divide the string into two paragraphs 
    Pattern pattern = Pattern.compile("<LOCATION>(.*?)</LOCATION>"); 
     for(int i=0;i<paras.length;i++) 
     { 
      System.out.print("Para "+(i+1)+": "); 
      Matcher matcher = pattern.matcher(paras[i]); 
      while (matcher.find()) { 
       System.out.println(matcher.group(1)); 
      } 
     } 

The out put будет

Para 1: BelAir 
UK 
Para 2: Usa 
+0

Спасибо, что попробовал это – user3075547

+0

Добро пожаловать. Пожалуйста, примите ответ –

+0

вещь, я не могу вручную положить \ n. Я читаю содержимое из текстового файла, и я хочу распознать все места из каждого абзаца – user3075547

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