У меня есть много текста, как это в Notepad ++:

User Actions 
 Follow
Online Marketing
@LookSocialMedia
Talk about #socialmedia, #SEO, online marketing, affiliate sales, #SMO, #PPC and much more. Join the discussion.


User Actions 
Following
Mashable Verified account
@mashable
News, resources, inspiration and fun for the connected generation. Tweets by @mashable staff.

Я хотел бы извлечь все маркеры твиттера - получить уникальный список, подобный этому:

@mashable  
@LookSocialMedia

все профили пользователей Twitter в одном списке.

Каков наилучший способ извлечь эти имена пользователей и иметь уникальный список из них в одном документе?

3 ответа3

2

Одним из вариантов является использование закладок в Notepad++.

Ищи:

^@.*$

Внутри Mark проверяется Bookmark line и Regular Expression (но не . matches newline строке ).


Нажмите Search -> Bookmark -> Remove unmarked lines


Вы должны остаться со следующим:

1

Я бы использовал пошаговый подход:

  1. сохранить ваш файл в новом месте, вы удалите ненужный контент оттуда
  2. Чтобы удалить все содержимое без имени пользователя:
    • заменить все (?<!@)\b[^@]*
    • ничего
      (чтобы получить объяснение см. https://regex101.com/)
  3. удалить дубликаты:
    • заменить все (\@[^@]+)(.*)\1
    • к \1\2
  4. и, наконец, получить одно имя пользователя на строку:
    • заменить все (\@[^@]+)
    • в \1\n
0

Это создаст новый файл в том же каталоге, что и текущий файл, добавив «.sorted» между исходным именем файла и расширением.

В Notepad++ при отображении входного файла нажмите F5 вставьте следующее:

powershell -command "get-content '$(FULL_CURRENT_PATH)' | select-string -list -pattern '^@' | sort-object" > "$(CURRENT_DIRECTORY)\$(NAME_PART).sorted.$(EXT_PART)"

Обратите внимание, что при этом будет перезаписан существующий файл.

Запустите или сохраните команду. Сохранение позволит вам назначить сочетание клавиш. Кто-то с лучшим PowerShell-фу, чем я, может захотеть включить простой способ убрать начальную пустую строку в выходном файле.

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