editor de texto encontre substituir palavras diferentes

1

Boa noite

Eu tenho uma pergunta sobre algum editor de texto. Estou usando o CotEditor no Mac e quero encontrar e substituir algo especial. Eu tenho um dados .csv que converti como dados .txt com números. Nesta lista existem algumas palavras especiais que eu quero encontrar e apagar todas as outras palavras.

Por exemplo:

Going with fancy looking rig this week. **@aaw_sg** W500 CIEM, with gold and silver flakes, combined with @nullaudio cable and my faithful Shanling M5

ou

If you are in Czech republic this week, be sure to visit Audio Video show Praha 2018. Shanling will be represented by our Czech distributor Gothic @headphones.cz in room 332 on 3rd floor. Visit audio-video-show.cz for more info

Eu quero filtrar tudo @ *!

Em segundo plano quero acompanhar alguns sites marcados no Instagram e não quero clicar em cada foto e seguir.

Alguém pode me ajudar?

    
por SporeTinte049 27.03.2018 / 20:04

3 respostas

1

Use algo como @\S+ .

Onde:

  • @ significa literalmente "@"
  • \S+ significa 1 ou mais qualquer caractere que não seja um espaço.

Edite de acordo com o comentário:

Usando o notepad ++, você pode fazer de uma só vez: (Ele também funciona no SublimeText)

  • Ctrl + H
  • Encontre o que: (?:^|\G)[^@]+(@\S+|$)
  • Substituir por: $1\n
  • check Embrulhe
  • verificar expressão regular
  • Substituir todos

Explicação:

(?:     : non capture group
  ^     : beginning of line
 |      : R
  \G    : position of last match
)       : end group
[^@]+   : 1 or more any character that is not @
(       : start group 1
  @\S+  : @ followed by any non space character
 |      : OR
  $     : end of line
)       : end group 1

Substituição:

$1      : content of group 1
\n      : line feed, you could change it for the linebreak you need

Resultado para o exemplo dado:

@aaw_sg
@nullaudio
@headphones.cz
    
por 27.03.2018 / 20:46
0

Se o uso do seu regex for específico da conta do Instagram, @[a-zA-Z0-9._]+ seria a string de localização.

cf. Limite de caracteres nos nomes de usuários do Instagram - Estouro de pilha

regex para remover todos os caracteres que não são da conta

O seguinte regex de dois passos removeria todos os caracteres, mas deixaria as contas do Instagram.

  1. remover todos os caracteres que não são da conta
    • encontrar string: (@[a-zA-Z0-9._]+|^)(.+?)(?=@|$)
    • string de substituição: $1
  2. inserir espaços entre contas
    • encontrar string: (?<=[a-zA-Z0-9._])@
    • sting de substituição: @
por 28.03.2018 / 03:22
0

No editor CudaText (gratuito), você pode criar um novo arquivo de texto com as contas @nnn:

  • chame a caixa de diálogo Localizar, insira regex @[\w\.]+
  • pressione o botão "Selecionar tudo"
  • copiar seleções para a área de transferência (Editar / Copiar)
  • crie uma nova guia, cole na área de transferência (Editar / Colar)
por 28.03.2018 / 13:36