共用方式為


extract()

適用於:✅Microsoft網狀架構✅✅✅

從來源字串取得正則表達式相符專案。

或者,將擷取的子字串轉換成指定的類型。

語法

extract( , )

深入瞭解 語法慣例

參數

姓名 類型​​ 必要 描述
regex string ✔️ 則表達式
captureGroup int ✔️ 要擷取的擷取群組。 0 代表整個比對,1 代表正則表達式中第一個 '('括弧')' 所比對的值,2 或更多代表後續括弧。
source string ✔️ 要搜尋的字串。
typeLiteral string 若提供了此數值,擷取的 substring 將會轉換為此型別。 例如: typeof(long)

傳回

如果 regex 在來源尋找相符專案:與指定的擷取群組 captureGroup 相符的子字串,則選擇性地轉換成 typeLiteral

如果沒有相符專案,或類型轉換失敗: null

範例

從 datetime 字串擷取月份

下列查詢會從字串 Dates 擷取月份,並傳回具有日期字串和月份的數據表。

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

輸出

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

從字串擷取用戶名稱

下列範例會從字串傳回用戶名稱。 正則表達式 ([^,]+) 會比對下列文字“User: ” 至下一個逗號,有效地擷取用戶名稱。

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

輸出

UserName
JohnDoe