Textexpander с Python, чтобы соответствовать номерам телефонов

Я хочу использовать Textexpander и Python для сопоставления телефонных номеров через буфер обмена:

  1. Нажмите номер телефона, сформатированный как 0798008080 в одном приложении скопируйте номер и вставьте содержимое буфера обмена с помощью Textexpander-Shortcut в другом приложении, например 0041 79 800 80 80,

  2. Нажмите номер телефона, отформатированный как 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:

  1. ⌘-C (скопировать) номер телефона (0798008080) в буфер обмена
  2. Перейти в другое приложение, мы говорим Evernote/Word и т. Д.
  3. Чаевые определенной аббревиатуры от Textexpander, как ;phone который вставить преобразованный номер телефона 0041 79 800 80 80 в Evernote/Word и т. д.

Код Python, Ruby или AppleScript, преобразующий номер телефона, находится внутри фрагмента ;phone от Textexpander:

  1. Если я наберу ярлык ;phone (или вообще: ярлыки могут быть определены самим пользователем), Textexpander должен получить содержимое из буфера обмена (для этого код %clipboard может быть использован в Textexpander),
  2. затем начать
  3. Python-, Ruby- или любой другой код, преобразующий содержимое буфера обмена (здесь: номер телефона),
  4. перенести преобразованный контент буфера обмена в Textexpander,
  5. который (е) заменит ярлык ;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-рабочий процесс.

Имеет ли это смысл? Достаточно ли понятны мои замечания?

Другие вопросы по тегам