Textexpander с Python, чтобы соответствовать номерам телефонов
Я хочу использовать Textexpander и Python для сопоставления телефонных номеров через буфер обмена:
Нажмите номер телефона, сформатированный как
0798008080
в одном приложении скопируйте номер и вставьте содержимое буфера обмена с помощью Textexpander-Shortcut в другом приложении, например0041 79 800 80 80
,Нажмите номер телефона, отформатированный как
079 800 80 80
в одном приложении скопируйте, вставьте содержимое буфера обмена с помощью Textexpander-Shortcut в другом приложении, например0041 79 800 80 80
,
Я нашел фрагмент Textexpander, который устанавливает содержимое буфера обмена в верхнем регистре:
#!/usr/bin/python
import sys
selection = """%clipboard"""
sys.stdout.write(selection.upper(),
но я понятия не имею, как адаптировать этот фрагмент для моей цели (%clipboard
код, используемый в Textexpander для доступа к содержимому буфера обмена)
У кого-нибудь есть предложение?
2 ответа
После тестирования я нашел решение с помощью Regex. Следующее регулярное выражение сопоставляет и преобразует первый пример, 07966655522
в 0041 79 666 55 22
, Я должен изменить этот код, так что пример два (079 600 80 80
в 0041 79 600 80 80
) также будет соответствовать этому коду, но это займет некоторое время (любые предложения приветствуются:-)):
согласование
^(0|[1-9])([0-9]{2})([0-9]{3})([0-9]{2})([0-9]{2})
Преобразуя
0041 $2 $3 $4 $5
@hackworks:
Да, мне все еще нужна помощь в подборе шаблона и его преобразовании.
Я полагаю, что мне нужен Python-, Ruby- или, возможно, AppleScript-код для преобразования телефонных номеров, таких как 0798008080
из буфера обмена (просто скопируйте число с помощью ⌘-C на Mac) в 0041 79 800 80 80
а также 079 800 80 80
в 0041 79 800 80 80
:
- ⌘-C (скопировать) номер телефона (
0798008080
) в буфер обмена - Перейти в другое приложение, мы говорим Evernote/Word и т. Д.
- Чаевые определенной аббревиатуры от Textexpander, как
;phone
который вставить преобразованный номер телефона0041 79 800 80 80
в Evernote/Word и т. д.
Код Python, Ruby или AppleScript, преобразующий номер телефона, находится внутри фрагмента ;phone
от Textexpander:
- Если я наберу ярлык
;phone
(или вообще: ярлыки могут быть определены самим пользователем), Textexpander должен получить содержимое из буфера обмена (для этого код%clipboard
может быть использован в Textexpander), - затем начать
- Python-, Ruby- или любой другой код, преобразующий содержимое буфера обмена (здесь: номер телефона),
- перенести преобразованный контент буфера обмена в Textexpander,
- который (е) заменит ярлык
;phone
(Textexpander) с преобразованным номером телефона и вставит преобразованный номер телефона в Evernote/Word/Excel вообще
1, 2, 4 и 5 будет сделано Textexpander. Содержимое буфера обмена, "преобразующее" код, также будет помещено непосредственно во фрагмент Textexpander, другими словами, Textexpander будет инициировать Python-/Ruby-код.
В примере
#!/usr/bin/python
import sys
selection = """%clipboard"""
sys.stdout.write(selection.upper(),
Textexpander будет работать аналогично: этот код написан внутри фрагмента Textexpander. Ярлык, как ;uc
(в верхнем регистре) в Word запустится фрагмент Textexpander. Textexpander получит содержимое буфера обмена (% буфера обмена), нажмите код Python (sys.stdout.write(selection.upper(),
) в верхнем регистре содержимого буфера обмена и вставки преобразованного содержимого буфера обмена в Word. #!/usr/bin/python
, import sys
а также selection
также есть что-то общее с Python (я так предлагаю), но я очень далек от понимания Python.
Итак, мне нужен Python/Ruby-код для преобразования телефонных номеров, отформатированных как 0798008080
а также 079 800 80 80
в 0041 79 800 80 80
и вставить код в Textexpander-рабочий процесс.
Имеет ли это смысл? Достаточно ли понятны мои замечания?