Split işlevi

Şunlar için geçerlidir: Tuval uygulamaları Masaüstü akışları Model temelli uygulamalar Power Platform CLI

Bir metin dizesini alt dizeler tablosuna böler.

Description

Split işlevi, bir metin dizesini alt dizeler tablosuna böler. Virgülle ayrılmış listeleri, tarih birimleri arasında eğik çizgi kullanılan tarihleri ve tanımlanmış bir sınırlayıcının kullanıldığı diğer durumlarda bu öğeleri bölmek için Split işlevini kullanın.

Metin dizesini bölmek için ayraç dizesi kullanılır. Ayraç, metin dizesinde bir bütün olarak eşleşen sıfır, bir veya birden çok karakter olabilir. Sıfır uzunluğunu veya boş dizeyi kullanma, her bir karakterin ayrı ayrı bölünmesiyle sonuçlanır. Eşleşen ayraç karakterleri sonuçta döndürülmez. Ayraç eşleşmesi bulunamazsa metin dizesinin tamamı tek bir sonuç olarak döndürülür.

Dizeyi yeniden birleştirmek için ayraçlar olmadan Concat işlevini kullanın.

Normal ifade kullanarak bir dize bölmek için MatchAll işlevini kullanın.

Örneklerde, tek bir sınırlandırılmış alt dizeyi ayıklamak için Split işlevinin First ve Last işlevleriyle nasıl kullanılabileceği gösterilmektedir. Match işlevi, normal ifadeler için genellikle daha kısa ve güçlü bir seçimdir.

Sözdizimi

Split( Metin, Ayraç )

  • Metin - Gerekli. Bölünecek metin.
  • Ayraç: Gerekli. Dizeyi bölerken kullanılacak ayraç. Sıfır, bir veya birden çok karakter olabilir.

Örnekler

Temel kullanım

Formül Açıklama Sonuç
Split( "Apples, Oranges, Bananas", "," ) Virgül ayracına göre farklı meyveleri böler. Bölme işlemi, ardından boşluk gelecek şekilde değil, yalnızca virgüle göre gerçekleştirilir. Bu da " Portakallar" ve " Muzlar" değerlerinin önünde bir boşluk ile sonuçlanır. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "Elmalar", "Portakallar", "Muzlar"
TrimEnds( Split( "Apples, Oranges, Bananas", "," ) ) Önceki örnekle aynı şekilde ancak bu kez Split işlevi tarafından oluşturulan tek sütunlu tabloda çalıştırılarak boşluk TrimEnds işlevi tarafından kaldırılır. Virgülden sonra boşluk içeren "," ayracını da kullanabilirdik ancak bu işlem boşluk olmaması veya iki boşluk olması durumunda düzgün çalışmazdı. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "Elmalar", "Portakallar", "Muzlar"
Split( "08/28/17", "/" ) Ayraç olarak eğik çizgi ile tarihi böler. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "08", "28", "17"

Farklı sınırlayıcılar

Formül Veri Akışı Açıklaması Result
Split( "Hello, World", "," ) Ayraç olarak virgül ile sözcükleri böler. Virgülün hemen ardından gelen bir karakter olduğundan ikinci sonuç bir boşluk ile başlar. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "Hello", "World"
Split( "Hello, World", "o" ) Ayraç olarak "o" karakteri ile dizeyi böler. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "Hell", "W", "rld"
Split( "Hello, World", "l" ) Ayraç olarak tek "l" karakteri ile dizeyi böler. Hello sözcüğünde iki l arasında karakter olmadığından boş değer döndürülmüştür. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "He", Boş(), "o, Wor", "d"
Split( "Hello, World", "ll" ) Ayraç olarak çift "l" karakteri ile dizeyi böler. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "He", "o, World"
Split( "Hello, World", "%" ) Ayraç olarak yüzde işareti ile dizeyi böler. Bu ayraç, dizede görünmediğinden tüm dize tek bir sonuç olarak döndürülür. Şu değeri içeren bir Value sütunu olan tek sütunlu bir tablo: "Hello, World"
Split( "Hello, World", "" ) Ayraç olarak boş bir dize ile (sıfır karakter) dizeyi böler. Bu işlem, dizeyi her karakterde böler. Şu değerleri içeren bir Value sütunu olan tek sütunlu bir tablo: "H", "e", "l", "l", "o", ",", " ", "W", "o", "r", "l", "d"

Alt dize ayıklama

Formül Veri Akışı Açıklaması Result
First( Split( Last( Split( "Bob Jones <bob.jones@contoso.com>", "<" ) ).Result, ">" ) ).Result Dizeyi, açma sınırlayıcısına (<) göre böler ve Last işleviyle dizeyi sınırlayıcının sağına ayıklar. Ardından formül bu sonucu kapatma sınırlayıcısına (>) göre böler ve Right işleviyle dizeyi sınırlayıcının soluna ayıklar. "bob.jones@contoso.com"
Match( "Bob Jones <bob.jones@contoso.com>", "<(?<email>.+)>" ).email Aynı sınırlayıcıyı son örnekteki ayıklamaya göre gerçekleştirir ancak bunun yerine Match işlevini ve düzenli bir ifade kullanır. "bob.jones@contoso.com"