2013-09-24 7 views
0

Я пытаюсь найти конкретную строку в текстовом файле. Файл выглядит следующим образом:Найти строку в текстовом файле

2, 1, 'Ausbau der techn. Anlagen»

2, 2, 'Расширение дез установки техника'

2, 3, 'Estensione делла istallazioni Tecniche'

Я пытаюсь найти текст между '' знаками.

//Will be set automaticly after implementation. 
    int project = 2 
    int languageInteger = 1 
    String findings = new File(usedPath)?.eachLine { 

      it.substring((project+ ", " + languageInteger + ", ")) 

    } 

Это не работает. Я также попытался найти FindAll Closure или найти. Но я делаю некоторые ошибки.

Что мне делать, чтобы найти текст?

+0

Это сообщение объясняет [как получить данные со строками между кавычками] (http://stackoverflow.com/questions/1473155/how-to-get-data-between-quotes-in-java). Вам нужно будет заменить '' 'в регулярном выражении на' '' – Kaadzia

+0

Нет, я знаю, что «ist not» Я сделал в решении ниже после replaceAll («'», «»), который отлично работает Теперь. – CollinG

+0

Я имел в виду, если вы собираетесь использовать Regex из учебника: 'Pattern.compile (" \ "([^ \"] *) \ ""); 'вам придется заменить' '';) – Kaadzia

ответ

0

Я нашел решение. Это будет не самое лучшее, но оно работает.

new File(usedPath)?.eachLine { 

     if(it?.toString()?.startsWith(project+ ", " + languageInteger + ", ")){ 
      findings = it?.toString()?.split(project+ ", " + languageInteger + ", ")?.getAt(1) 
     } 
    } 
+0

Использование 'java.util.regex.Matcher' было бы красивее. [Вот учебник] (http://tutorials.jenkov.com/java-regex/matcher.html), если вы хотите изменить свой код. – Kaadzia

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