Преобразование UUID из одного формата в другой - PullRequest
2 голосов
/ 20 мая 2009

У меня есть документ 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 так, как мне нужно, не делая это вручную?

1 Ответ

3 голосов
/ 20 мая 2009

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

'([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'.

...