Aracılığıyla paylaş


Strings.Split(String, String, Int32, CompareMethod) Yöntem

Tanım

Belirtilen sayıda alt dize içeren sıfır tabanlı, tek boyutlu bir dizi döndürür.

public static string[] Split (string? Expression, string? Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
public static string[] Split (string Expression, string Delimiter = " ", int Limit = -1, Microsoft.VisualBasic.CompareMethod Compare = Microsoft.VisualBasic.CompareMethod.Binary);
static member Split : string * string * int * Microsoft.VisualBasic.CompareMethod -> string[]
Public Function Split (Expression As String, Optional Delimiter As String = " ", Optional Limit As Integer = -1, Optional Compare As CompareMethod = Microsoft.VisualBasic.CompareMethod.Binary) As String()

Parametreler

Expression
String

Gereklidir. String alt dizeleri ve sınırlayıcıları içeren ifade.

Delimiter
String

İsteğe bağlı. Alt dize sınırlarını tanımlamak için kullanılan tek bir karakter. Atlanırsa Delimiter , boşluk karakterinin (" ") sınırlayıcı olduğu varsayılır.

Limit
Int32

İsteğe bağlı. Giriş dizesinin bölünmesi gereken en fazla alt dize sayısı. -1 varsayılan değeri, giriş dizesinin dizenin her geçtiği yerde bölünmesi Delimiter gerektiğini belirtir.

Compare
CompareMethod

İsteğe bağlı. Alt dizeleri değerlendirirken kullanılacak karşılaştırmayı gösteren sayısal değer. Değerler için "Ayarlar"a bakın.

Döndürülenler

String[]

String Dizi. Expression Sıfır uzunluklu bir dizeyse (""), Split sıfır uzunluklu dize içeren tek öğeli bir dizi döndürür. Delimiter Sıfır uzunluklu bir dizeyse veya içinde ExpressionSplit herhangi bir yerde görünmüyorsa, dizenin tamamını Expression içeren tek öğeli bir dizi döndürür.

Örnekler

Aşağıdaki örnekte, bir dizenin boşluklarında nasıl bölündüğü gösterilmektedir.

Dim testString As String = "Look at these!"
' Returns an array containing "Look", "at", and "these!".
Dim testArray() As String = Split(testString)

Aşağıdaki örnekte, bir satırda birden çok sınırlayıcı içeren dizelerin nasıl bölündüğü ve boş dizelerin nasıl filtreleneceği gösterilmektedir.

Dim testString As String = "apple    pear banana  "
Dim testArray() As String = Split(testString)
' testArray holds {"apple", "", "", "", "pear", "banana", "", ""}
Dim lastNonEmpty As Integer = -1
For i As Integer = 0 To testArray.Length - 1
    If testArray(i) <> "" Then
        lastNonEmpty += 1
        testArray(lastNonEmpty) = testArray(i)
    End If
Next
ReDim Preserve testArray(lastNonEmpty)
' testArray now holds {"apple", "pear", "banana"}

Açıklamalar

Varsayılan olarak veya -1 değerine eşit olduğunda Limit işlev, Split giriş dizesini sınırlayıcı dizenin her geçtiği yerde böler ve bir dizideki alt dizeleri döndürür. Limit Parametre sıfırdan büyük olduğunda işlev, Split sınırlayıcının ilk Limit-1 oluşumunda dizeyi böler ve sonuçta elde edilen alt dizeleri içeren bir dizi döndürür. Örneğin, Split("a:b:c", ":") dizisini {"a", "b", "c"}döndürürken Split("a:b:c", ":", 2) dizisini {"a", "b:c"}döndürür.

Split İşlev bir satırda iki sınırlayıcıyla veya dizenin başında veya sonunda bir sınırlayıcıyla karşılaştığında, bunları boş bir dizeyi ("") çevreleyen olarak yorumlar. Örneğin, Split("xx", "x") üç boş dize içeren diziyi döndürür: biri dizenin başlangıcı ile ilk "x", biri iki "x" dizesi arasında ve biri de son "x" ile dizenin sonu arasında.

Bu tabloda isteğe bağlı Delimiter, Limitve Compare parametrelerinin işlevin davranışını nasıl değiştirebileceği gösterilmektedir Split .

Aramayı Böl Dönüş Değeri
Split("42, 12, 19") {"42," , "12," , "19"}
Split("42, 12, 19", ", ") {"42", "12", "19"}
Split("42, 12, 19", ", ", 2) {"42", "12, 19"}
Split("192.168.0.1", ".") {"192", "168", "0", "1"}
Split("Alice and Bob", " AND ") {"Alice ve Bob"}
Split("Alice and Bob", " AND ", ,CompareMethod.Text) {"Alice", "Bob"}
Split("someone@example.com", "@",1) {"someone@example.com"}
Split("someone@example.com", "@",2) {"birisi", "example.com"}

Compare Bağımsız değişken aşağıdaki değerlere sahip olabilir.

Sabit Description Değer
CompareMethod.Binary İkili karşılaştırma yapar 0
CompareMethod.Text Metinsel karşılaştırma yapar 1

Şunlara uygulanır

Ayrıca bkz.