Vorher:wie doppelte Zeichen in erhabenen entfernen?
我是中国人来自中国,I am Chinese people from China
Nach:
我是中国人来自,IamChinespolfr
wie doppelte Zeichen in erhabener entfernen?
Vorher:wie doppelte Zeichen in erhabenen entfernen?
我是中国人来自中国,I am Chinese people from China
Nach:
我是中国人来自,IamChinespolfr
wie doppelte Zeichen in erhabener entfernen?
Find
MenüReplace...
Regular expression
ModusFind What:
Typ (.)(.*?)\1
Replace With:
, $1$2
TypReplace All
RepeatA einen Einzeiler für die ST-Konsole ctrl+`
:
import collections; content="".join(collections.OrderedDict.fromkeys(view.substr(sublime.Region(0, view.size())))); view.run_command("select_all"); view.run_command("insert", {"characters": content})
Wenn Sie ein Plugin drückt Tools >>> New Plugin...
schreiben mögen und schreiben:
import sublime
import sublime_plugin
from collections import OrderedDict
class RemoveDuplicateCharactersCommand(sublime_plugin.TextCommand):
def remove_chars(self, edit, region):
view = self.view
content = "".join(OrderedDict.fromkeys(view.substr(region)))
view.replace(edit, region, content)
def run(self, edit):
view = self.view
all_sel_empty = True
for sel in view.sel():
if sel.empty():
continue
all_sel_empty = False
self.remove_chars(edit, sel)
if all_sel_empty:
self.remove_chars(edit, sublime.Region(0, view.size()))
Und erstellen Sie eine Tastenkombination in Keybindings - User
:
{
"keys": ["ctrl+alt+shift+r"],
"command": "remove_duplicate_characters",
},
Danach können Sie einfach einen Text auswählen und ctrl+alt+shift+r
drücken und die doppelten Zeichen werden entfernt. Wenn Sie keine Auswahl haben, wird sie für die gesamte Ansicht übernommen.
nette Lösung, weniger repetitive manuelle Arbeit als meine nicht-Plugin/Python-basierte Antwort :) –