Maskera identifierande information med reguljära uttryck
Reguljära uttryck kan även användas för att ersätta mönster i strängar med hjälp av REGEXP_REPLACE(). Funktionen liknar REPLACE(). Dess signatur är REGEXP_REPLACE(source, pattern, replace, flags).
patternär det strängmönster som ska matchas i strängensource.replaceär den ersättningssträng som används i stället för mönstret.flagsär en valfri sträng som styr matchningen.
Till exempel skulle REGEXP_REPLACE(xyz, '\d', '_', 'g') ersätta varje siffertecken (\d) i kolumnen xyz med ett understreck (_). Flaggan g ("global") säkerställer att varje träff ersätts.
För att skydda integriteten hos dem som fått parkeringsböter i en ny webbrapport måste alla bokstäver i kolumnen plate_id ersättas med ett bindestreck (-) för att dölja det verkliga registreringsnumret.
Den här övningen är en del av kursen
Datarensning i PostgreSQL-databaser
Övningsinstruktioner
- Använd
REGEXP_REPLACE()för att ersätta alla versaler (AtillZ) i kolumnenplate_idmed ett bindestreck (-) så att maskerade registreringsnummer kan användas i rapporten.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT
summons_number,
-- Replace uppercase letters in plate_id with dash
___(___, ___, ___, 'g')
FROM
parking_violation;