Русское сообщество Sublime Text
Основной раздел => Вопросы и ответы => Тема начата: sotex2 от Января 09, 2022, 00:17:21
-
Доброго времени суток, подскажите как в саблайм удалить целиком строки, если в ссылке находится 2 слеша. Если в ссылке 3 слеша, то не трогать эти ссылки.
пример ссылок
https://sbis.ru/contragents/301807389184
https://sbis.ru/contragents/352519549170
https://sbis.ru/contragents/7838407291/783801001
-
Если речь об обработке относительно небольшого списка, то проще через поиск выделить те ссылки, в которых 3 слеша и скопировать-вставить их.
Например, так.
https://(?=.+/.+/.+/).+
найти все, скопировать, выделить все, вставить.
-
не вариант
-
Ну тогда добавить небольшой плагин.
Tools / Developer / New Plugin...
Как-нибудь обозвать и сохранить куда предлагают (Packages \ User). Вставить примерно следующее:
import sublime
import sublime_plugin
import re
class RemoveSlashesCommand(sublime_plugin.TextCommand):
def run(self, edit):
regions = self.view.find_all('https?://.+?\s', 0)
self.view.selection.clear()
for region in regions:
slashes = len(re.findall('/', self.view.substr(region)))
if slashes == 4:
self.view.selection.add(region)
self.view.run_command('delete_word')
Добавить хоткей.
Preferences \ Key Bindings
[
{
"keys": ["ctrl+k", "ctrl+e"],
"command": "remove_slashes"
}
]
Теперь по нажатию ctrl+k ctrl+e будет выполнятся команда.