Dividindo texto em paragrafos

7 respostas
X

Bom dia pessoal,

// text recebe todo o texto do meu .pdf
          String text = strip.getText(pdf); 
          // daí eu queria dividir text em paragrafos para depois efetuar a escrita no arquivo
          String[] paragraphs = text.split("\n");

fazendo desta forma ele ta quebrando linha por linha

alguem sabe como separar um texto em paragrafos? abço

7 Respostas

F

Como está a estrutura do texto, o que é um “parágrafo” no contexto desta estrutura?

X

por exemplo:

Uma das dificuldades do design emergente repousa na localização de padrões idiomáticos e de outros elementos de design ocultos no código. As métricas e visualizações são úteis para identificar partes importantes do código e permitem que você as extraia como elementos de design de primeira classe. As duas métricas em que me concentrarei neste artigo são complexidade ciclomática e acoplamento aferente. A complexidade ciclomática é a medida da complexidade relativa de um método em relação a outro. O acoplamento aferente representa a contagem de quantas classes diferentes usam a classe atual. Você conhecerá algumas ferramentas para visualização e compreensão das métricas, e verá como a combinação delas revela as características do design.

Depois de ter esses números em mãos, o que eles significam, principalmente em termos de design? Os números gerados como métrica fornecem uma dimensão única das informações sobre o seu código, no entanto, os números em si, frequentemente, não significam grande coisa. É possível gerar informações úteis a partir das métricas de dois modos. Um deles, é examinar como determinado valor se altera no decorrer do tempo e nas principais tendências. O outro é combinar métricas para enriquecer a densidade das informações (essa é a abordagem que mostrarei mais tarde neste artigo).

Tenho esse texto ae dentro de um .pdf
a ideia era ter

paragraphs[0] = "Uma das dificuldades do design emergente repousa na localização de padrões idiomáticos e de outros elementos de design ocultos no código. As métricas e visualizações são úteis para identificar partes importantes do código e permitem que você as extraia como elementos de design de primeira classe. As duas métricas em que me concentrarei neste artigo são complexidade ciclomática e acoplamento aferente. A complexidade ciclomática é a medida da complexidade relativa de um método em relação a outro. O acoplamento aferente representa a contagem de quantas classes diferentes usam a classe atual. Você conhecerá algumas ferramentas para visualização e compreensão das métricas, e verá como a combinação delas revela as características do design."

paragraphs[1] = "Depois de ter esses números em mãos, o que eles significam, principalmente em termos de design? Os números gerados como métrica fornecem uma dimensão única das informações sobre o seu código, no entanto, os números em si, frequentemente, não significam grande coisa. É possível gerar informações úteis a partir das métricas de dois modos. Um deles, é examinar como determinado valor se altera no decorrer do tempo e nas principais tendências. O outro é combinar métricas para enriquecer a densidade das informações (essa é a abordagem que mostrarei mais tarde neste artigo)."

como text recebe o texto todo, gostaria que “subdividir” esse texto em paragrafos, mas não conheço uma Regex que faça isso, ou talvez tenha um jeito mais facil, fazendo simplesmente com .split("\n"); ele ta quebrando todas as linhas, acredito que durante a lleitura do .pdf ele acrescenta “\n” em cada linha.

B

O q precisamos saber é o conteúdo exato da variável text.

Como não tem conteúdo, vou assumir o seguinte texto como exemplo:

text="paragrafo1linha1\nparagrafo1linha2\n\nparagrafo2linha1"

Com isso em mente, consigo fazer o split em parágrafos da seguinte forma:

text.split("(?m)^\\n")
X

me parece que no momento da leitura do pdf

text="paragrafo1linha1 \n paragrafo1linha2 \n paragrafo2linha1"

como poderia identificar o caracter de escape do paragrafo?

B

x00m:
me parece que no momento da leitura do pdf

text="paragrafo1linha1 \n paragrafo1linha2 \n paragrafo2linha1"

como poderia identificar o caracter de escape do paragrafo?

é… se aparece assim, então… é impossível…

o mesmo padrão d divisão de linhas é o q divide o parágrafo tb… Precisaria ter alguma diferença, mínima q seja p/ se poder mapear por padrão…

isso aí não gera um texto pdf parecido com isso abaixo?

paragrafo1linha1 paragrafo1linha2 paragrafo2linha1

X

Engraçado, quando ele lê do pdf e manda pra um .txt ele mantem a formatação… mas na hora de ler esse .txt ele pega linha por linha

documento.pdf

paragrafo 1 linha 1 exemplo
paragrafo 1 linha 2 exemplo
paragrafo 1 fim.

passando pro .txt

paragrafo 1 linha 1 exemplo
paragrafo 1 linha 2 exemplo
paragrafo 1 fim.
paragrafo 2 linha 1 exemplo
paragrafo 2 linha 2 exemplo
paragrafo 2 fim.

lendo documento.txt

BufferedReader reader = new BufferedReader(new FileReader(filetxt));


        while ((line = reader.readLine()) != null) {

            String l = line.replaceAll("%", "");
            ...
         }

ele deveria ler:

l = “paragrafo 1 linha 1 exemplo paragrafo 1 linha 2 exemplo paragrafo 1 fim.”;
l = “paragrafo 2 linha 1 exemplo paragrafo 2 linha 2 exemplo paragrafo 2 fim.”;

Mas ta lendo da seguinte maneira:

l = paragrafo 1 linha 1 exemplo;

l = paragrafo 1 linha 2 exemplo;

l = paragrafo 1 fim.;

l = "paragrafo 2 linha 1 exemplo ";


existe uma quebra de linha… mas nao consigo identificar o padrão. existe algum lugar que possa ver os “\n”, “\r” presentes em um txt ??

Abço.

B

Vc pode passar um pdf de exemplo com o trecho de código que o lê e faz a conversão?

Criado 6 de novembro de 2009
Ultima resposta 7 de nov. de 2009
Respostas 7
Participantes 3