Обнаружение табуляции и символов разметки следующего текста в текстовых файлах - PullRequest
2 голосов
/ 19 февраля 2011

Мне нужно проанализировать необработанный текстовый файл, содержащий элемент для каждой строки и поля, разделенные символом табуляции.

Как я могу обнаружить символы табуляции и разметки следующей строки в текстовом документе?Я думал использовать для этого API Java ... но если вы знаете более быстрый и простой в использовании язык) для разбора текста, пожалуйста, дайте мне знать

спасибо

Ответы [ 4 ]

3 голосов
/ 19 февраля 2011
String str = "Hello\tworld\nHello Universe";
System.out.println(str);
System.out.println(str.contains("\t"));
System.out.println(str.indexOf("\t"));
System.out.println(str.contains("\n"));
System.out.println(str.indexOf("\n"));

Выход:

Hello        world
Hello Universe
true
5
true
11
1 голос
/ 19 февраля 2011

Вы можете использовать библиотеку Guava из Google
Посмотрите CharMatcher и Слайды Гуавы

Это пример:

@Test
public void testGuavaMatcher(){

    String str = "Hello\tworld\nHello Universe";        

    CharMatcher tabMatcher = CharMatcher.is('\t');
    CharMatcher newLineMatcher = CharMatcher.is('\n');

    assertThat(tabMatcher.indexIn(str), is(5));
    assertThat(tabMatcher.matchesAnyOf(str), is(true));
    assertThat(newLineMatcher.indexIn(str), is(11));
    assertThat(newLineMatcher.matchesAnyOf(str), is(true));

    CharMatcher tabAndNewLineMatcher = tabMatcher.or(newLineMatcher);

    assertThat(tabAndNewLineMatcher.removeFrom(str), is("HelloworldHello Universe"));
}  

Вы также можете взглянуть на константу CharMatcher.BREAKING_WHITESPACE.

1 голос
/ 19 февраля 2011

Вы можете попробовать это

 try 
 {
     BufferedReader br = new BufferedReader(new FileReader(file1));
     String strLine = "";
      while (br.readLine() != null) 
      {
        strLine =br.readLine();
        Scanner str = new Scanner(strLine);
        str.useDelimiter("\t");
        while(str.hasNextToken)
        {
        }
      }
   } catch (Exception e)
   {
   } 
0 голосов
/ 19 февраля 2011

Текстовые файлы не имеют разметки как таковой. Получить каждую строку, используя BufferedReader.readLine (). Вкладки можно найти, выполнив поиск по строкам «\ t».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...