1

Добрый вечер

У меня есть вопрос о каком-то текстовом редакторе. Я использую CotEditor на Mac, и я хочу найти и заменить что-то особенное. У меня есть данные .csv, которые я конвертировал как данные .txt с числами. В этом списке есть какие-то особые слова, которые я хочу найти и удалить все остальные слова.

Например:

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

или же

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

Я хочу отфильтровать все @ *!

Предыстория - я хочу следить за некоторыми отмеченными сайтами в Instagram и не хочу кликать по каждой фотографии и следить за ней.

Кто-нибудь может мне помочь?

3 ответа3

1

Используйте что-то вроде @\S+ .

Куда:

  • @ означает буквально "@"
  • \S+ означает 1 или более любой символ, который не является пробелом.

Редактировать в соответствии с комментарием:

Используя notepad++, вы можете сделать это за один проход: (Это также работает в SublimeText)

  • Ctrl+H
  • Найти что: (?:^|\G)[^@]+(@\S+|$)
  • Заменить на: $1\n
  • проверить обернуть
  • проверьте регулярное выражение
  • Заменить все

Объяснение:

(?:     : 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

Замена:

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

Результат для данного примера:

@aaw_sg
@nullaudio
@headphones.cz
0

В редакторе CudaText (бесплатно) вы можете создать новый текстовый файл с учетными записями @nnn:

  • вызовите диалог поиска, введите регулярное выражение @[\w\.]+
  • нажмите кнопку "Выбрать все"
  • скопировать выбранные в буфер обмена (редактировать / копировать)
  • сделать новую вкладку, вставить из буфера обмена (Edit / Paste)
0

Если использование вашего регулярного выражения зависит от учетной записи Instagram, @[a-zA-Z0-9._]+ будет строкой поиска.

ср Ограничение символов на имена пользователей в Instagram

регулярное выражение для удаления всех не-учетных символов

Следующее двухэтапное регулярное выражение удалит все символы, но оставит учетные записи Instagram.

  1. удалить все не связанные с аккаунтом символы
    • найти строку: (@[a-zA-Z0-9._]+|^)(.+?)(?=@|$)
    • замена строки: $1
  2. вставить пробелы между счетами
    • найти строку: (?<=[a-zA-Z0-9._])@
    • жало замены: @

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .