Como manter apenas a primeira palavra em uma linha usando o Notepad ++

4

Gostaria de manter apenas a primeira palavra de cada linha no Notepad ++. Por exemplo, considere a situação em que eu tenho essas linhas

aleag greats broa
abdo gdert gfherr httowpw
asteruso dgheur graterf

Queria que eu tivesse deixado isto aqui aleag
abro
asteruso

Como faço isso? Ou usando o notepad ++ ou outra coisa.

    
por Habeeb 17.12.2012 / 11:35

4 respostas

8

Acabei de analisar uma folha de referência , então provavelmente há uma maneira melhor de fazer isso, mas você poderia fazer algo assim com a caixa de diálogo Substituir ( Ctrl + H ):

Encontrar : ([0-9a-zA-Z]*)([0-9a-zA-Z ]*$) Substituir :

A forma como o leio é basicamente:
[0-9a-zA-Z] : corresponde a um caractere alfanumérico
* : mantém os correspondentes [0-9a-zA-Z ] : corresponde a um caractere alfanumérico ou a um espaço $ : corresponde ao final da linha
() : "mantém" uma correspondência em uma variável. O primeiro () contém uma correspondência em , o segundo em (que não precisamos).

Como o primeiro () está "segurando" a correspondência que você deseja, será com o que você está substituindo o texto. Ele faz isso para cada linha se você pressionar Replace All .

    
por 17.12.2012 / 12:20
5

Uma solução semelhante à que Louis sugeriu é novamente usar a pesquisa de expressões regulares no Notepad ++, com o parâmetro de pesquisa:

(^.+?)\s.*$

E substitua por:


A vantagem / diferença desta versão sobre a de Louis é que ela também irá combinar as primeiras palavras como Apostrophy's ou Colons: ou Hyphen-ated quando houver caracteres não alfanuméricos.

Combina tudo desde o início de cada linha (o símbolo ^ significa início da linha). Ele encontra pelo menos um caractere ( .+? corresponde a um ou mais caracteres), parando assim que encontrar um espaço em branco ( \s está em branco / espaço). Em seguida, ele executa a correspondência de todo o restante da linha ( .* corresponde a zero ou mais caracteres), até o final da linha ( $ é o fim da linha).

O somente manterá a seção correspondida dentro dos colchetes, I.E. tudo antes do primeiro espaço na linha.

N.B. Certifique-se de que a caixa de seleção . matches newline esteja desmarcada ou você só obterá a primeira palavra no documento inteiro.

    
por 19.12.2012 / 15:07
1

Como você não conhece nenhum idioma, você pode fazer isso no Excel

Cole cada linha na coluna A.

Em seguida, na coluna B, cole

=LEFT(A1,SEARCH(" ",A1)-1)

    
por 17.12.2012 / 11:49
1

Uma solução ainda mais simples é usar ". * " Basta abrir o Notepad ++, escolha a expressão regular em busca e substituição, digite o abaixo e clique em substituir todos:

Find:  .*

Note que, o é um espaço à frente do ponto e essa substituição está em branco.

    
por 19.12.2012 / 17:02

Tags