Condividi tramite


extract()

Si applica a: ✅Microsoft Fabric

Ottenere una corrispondenza per un'espressione regolare da una stringa di origine.

Facoltativamente, converte la sottostringa estratta nel tipo indicato.

Sintassi

extract( regex, captureGroup,source [,typeLiteral])

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Digita Obbligatorio Descrizione
regex string ✔️ un'espressione regolare.
captureGroup int ✔️ Gruppo di acquisizione da estrarre. 0 indica l'intera corrispondenza, 1 per il valore corrispondente alla prima '('parentesi')' nell'espressione regolare e 2 o più per le parentesi successive.
origine string ✔️ Stringa in cui effettuare la ricerca.
typeLiteral string Se specificato, la sottostringa estratta viene convertita nel tipo. Ad esempio: typeof(long).

Valori restituiti

Se regex trova una corrispondenza nell'origine: la sottostringa corrispondente rispetto al gruppo capture capturegroup indicato, facoltativamente convertita in typeLiteral.

Se non esiste alcuna corrispondenza o la conversione del tipo non riesce: null.

Esempi

L'esempio seguente estrae il nome utente, il messaggio di posta elettronica e l'età dalla stringa. L'espressione regolare viene usata per estrarre le informazioni.

let Text = "User: JohnDoe, Email: johndoe@example.com, Age: 29";
print UserName = extract("User: ([^,]+)", 1, Text),
EmailId = extract(@"Email: (\S+),", 1, Text),
Age = extract(@"\d+", 0, Text)

output

Nome utente EmailId Età
JohnDoe johndoe@example.com 29

Nell'esempio seguente viene estratto il mese dalla stringa Dates e viene restituita una tabella con la stringa di data e il mese come tipo int.

let Dates = datatable(DateString: string)
[
    "15-12-2024",
    "21-07-2023",
    "10-03-2022"
];
Dates
| extend Month = extract(@"-(\d{2})-", 1, DateString, typeof(int))
| project DateString, Month

output

DateString Mese
15-12-2024 12
21-07-2023 7
10-03-2022 3