Funktionen REGEXREPLACE

Gäller för
Excel för Microsoft 365 Excel för Microsoft 365 för Mac

Med funktionen REGEXREPLACE kan du ersätta text från en sträng med en annan sträng, baserat på ett angivet reguljärt uttryck ("regex").

Syntax

Funktionen REGEXREPLACE ersätter strängar i den angivna texten som matchar mönstret med replacement.

Syntaxen för funktionen REGEXEXTRACT är:

REGEXREPLACE(text; mönster; ersättning; [förekomst]; [case_sensitivity])

argument Beskrivning
text
(obligatoriskt)
Detta är texten eller referensen till en cell som innehåller den text som du vill ersätta strängar i.
mönster
(obligatoriskt)
Det reguljära uttryck ("regex") som beskriver textmönstret som du vill byta ut.
ersättning
(obligatoriskt)
Detta är den text där du vill ersätta förekomster av mönstret.
Förekomst Anger vilken instans av mönstret som du vill ersätta. Som standard är förekomsten 0, vilket ersätter alla förekomster. Ett negativt tal ersätter förekomsten och söker från slutet.
case_sensitivity Avgör om matchningen är skiftlägeskänslig. Som standard är matchningen skiftlägeskänslig. Ange något av följande:
0: Skiftlägeskänslig
1: Okänslig för gemener och versaler

Obs

När du skriver regex-mönster kan symboler som kallas "tokens" användas som matchar med en mängd olika tecken. Det här är några enkla token som referens:

  • "[0-9]": valfri numerisk siffra
  • "[a-z]": ett tecken i intervallet a till ö
  • ".": valfritt tecken
  • "A": Tecknet "A"
  • "a*": noll eller fler "a"
  • "A+": ett eller flera "A"
  • Alla reguljära uttryck för den här funktionen, samt REGEXTEST och REGEXEXTRACT, använder PCRE2-"flavor" för regex.
  • REGEXEXTRACT returnerar alltid textvärden. Du kan konvertera tillbaka resultaten till ett tal med funktionen TEXTNUM.

Exempel

Kopiera exempeldata och klistra in dem i cell A1 i ett nytt Excel-kalkylblad. Om det behövs kan du justera kolumnbredderna så att alla data visas.

Exempel

Använd REGEXREPLACE för att anonymisera telefonnummer genom att ersätta deras första 3 siffror med ***, med mönster

"[0-9]+-"

Data
Sonia Rees(378) 555-4195
Ängel Brown(878) 555-8622
Blake Martin(437) 555-8987
William Kirby(619) 555-4212
Avery Svensson (579) 555-5658
Parker Jones(346) 555-0925
Liam Liten(405) 555-0887
Hollie Rees(666) 555-1872
Formler
=REGEXREPLACE(A2;"[0-9]+-";"***-")

Följande bild visar resultatet. Du måste radbryta text i cell A4 för att visa radbrytningarna i resultatet.

Använda REGEXREPLACE för att ersätta de tre första siffrorna i varje telefonnummer i blandad text med *, med mönstret [0-9]+-

Exempel 2

Använd REGEXERSÄTT med att samla in grupper för att separera och ändra ordning på förnamn och efternamn med hjälp av mönster: "([A-Z][a-z]+)([A-Z][a-z]+)"; och ersättning: "$2, $1".

Notera: Insamlingsgrupper definieras i mönster med parenteser "()" och kan refereras till i stället som "$n". I det här exemplet refererar $1 och $2 till den första respektive andra insamlingsgruppen.

Data
SoniaBrun
Formler
=REGEXREPLACE(A2;"([A-Z][a-z]+)([A-Z][a-z]+)";"$2, $1")

Följande bild visar resultatet.

Använd REGEXERSÄTT med insamlingsgrupper för att separera och ändra ordning på förnamn och efternamn med hjälp av mönster: ([A-Z][a-z]+)([A-Z][a-z]+) och ersättning: $2, $1