Найти и заменить цифру цифрой и пробелом в Sublime Text

У меня много цифр, и я хочу добавить пробелы между ними, например:

0123456789 --> 0 1 2 3 4 5 6 7 8 9

Я пытаюсь сделать это с помощью функции поиска и замены в Sublime Text. До сих пор я пробовал использовать \S для поиска всех символов (есть только цифры, поэтому это не имеет значения) и \1\s для их замены. Однако при этом цифры удаляются и заменяются на s. Кто-нибудь знает, как это сделать?


person Zero    schedule 22.06.2014    source источник


Ответы (3)


Для этого можно использовать комбинацию утверждений Lookahead и Lookbehind. Используйте Ctrl + H, чтобы открыть Поиск и замену, включите Регулярное выражение, введите следующее и нажмите >Заменить все

Find What: (?<=\d)(?=\d)
Replace With: empty space

Текущая демонстрация


Пояснение:

(?<=        # look behind to see if there is:
  \d        #   digits (0-9)
)           # end of look-behind
(?=         # look ahead to see if there is:
  \d        #   digits (0-9)
)           # end of look-ahead
person hwnd    schedule 22.06.2014

Нажмите Ctrl + H, чтобы открыть диалоговое окно «Найти и заменить» (убедитесь, что вы нажали .* слева, чтобы включить режим регулярных выражений):

  • Искать: (\d)(?!$)
  • Заменить на: $1[space]

Регулярное выражение (\d)(?!$) соответствует всем цифрам, кроме той, что стоит в конце строки.

Вот как это выглядит:

введите здесь описание изображения

person Amal Murali    schedule 22.06.2014

вы можете использовать этот шаблон (\d)(?=\d) и заменить на $1 ‹- $1{space}
Демо

person alpha bravo    schedule 22.06.2014