Преобразование UUID из одного формата в другой

StackOverflow https://stackoverflow.com/questions/889726

  •  23-08-2019
  •  | 
  •  

Вопрос

У меня есть документ SQL, отформатированный следующим образом (он содержит около 3000 таких записей):

INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('99b857afcb2e4f7dbf8657ea916ad9d7',FALSE,'SPACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('df8480e333c044f08ada939c66fa13f5',FALSE,'AIR')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('ad3e38a5e28f40ba8234bb8727936963',FALSE,'SURFACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('58f23ec0b9d141ed89dba8ce2f0fd377',FALSE,'SUBSURFACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('244182c8e53247529bd55f54c527bdbf',FALSE,'LAND')

Мне нужно отформатировать все строки UUID, включив в них тире, например:

550e8400-e29b-41d4-a716-446655440000

Есть ли простой способ проанализировать это и отформатировать UUID так, как они мне нужны, не делая этого вручную?

Это было полезно?

Решение

Попробуйте это регулярное выражение:

'([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})'

и замените совпадения на '$1-$2-$3-$4-$5'.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top