Pergunta

Eu tenho um arquivo de texto, e cada linha é da forma:

TAB PALAVRA POS TAB TAB FREQUENTE #

Word    PoS Freq
the Det 61847
of  Prep    29391
and Conj    26817
a   Det 21626
in  Prep    18214
to  Inf 16284
it  Pron    10875
is  Verb    9982
to  Prep    9343
was Verb    9236
I   Pron    8875
for Prep    8412
that    Conj    7308
you Pron    6954

Será que um de vocês REGEX assistentes gentilmente me ajudar a isolar as palavras do arquivo? Eu vou fazer um localizar e substituir em TextPad, esperançosamente, e que vai ser isso. Multiple achado e substitui é bom. Uma coisa: aviso de que a pesquisa de "verbo" também iria transformar-se a palavra de "verbo", e não apenas a parte do discurso, por isso tenha cuidado. No final, eu quero acabar com uma palavra por linha.

Muito obrigado!

Foi útil?

Solução

Eu acho que o Microsoft Excel pode ajudá-lo a que melhor ...

copiar apenas o texto inteiro em excel e será formatado como tabela, em seguida, vá em frente e selecione as células da coluna apropriadas para a palavra, finalmente, copiá-los no bloco de notas.

Eu aposto que este é o caminho mais fácil.

Se no caso Excel armazena todos os valores em uma única coluna, em um extrato coluna separada da palavra por:

= guarnição (ESQUERDA (C1, maxchar))

Outras dicas

Você pode simplesmente usar awk para remover a primeira coluna, como em

awk '{print $1}' /path/to/filename

Ir a primeira linha usando

awk 'NR!=1 {print $1}' /path/to/filename

Não há realmente qualquer necessidade de usar uma expressão regular para isso. Por exemplo, você pode usar cut:

cut -f1 <inputfile

Algo como \s*([a-zA-z]+)\s*([a-zA-z]+) voltaria a palavra e PoS como grupos. Você pode usá-los na instrução substituir $ 1 e US $ 2 para a saída como você deseja.

Se você só quer que a palavra parte você pode simplesmente usar $ 1 na substituir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top