Cum să împărțiți un șir în Golang?

În limba Go, siruri de caractere sunt diferite de alte limbi precum Java , C++ , Piton , etc. Este o secvență de caractere cu lățime variabilă în care fiecare caracter este reprezentat de unul sau mai mulți octeți folosind codificarea UTF-8. În șirurile Go, aveți voie să împărțiți un șir într-o felie cu ajutorul următoarelor funcții. Aceste funcții sunt definite în pachetul strings, așa că trebuie să importați pachetul strings în programul dvs. pentru a accesa aceste funcții:
1. Împărțire: Această funcție împarte un șir în toate subșirurile separate de separatorul dat și returnează o felie care conține aceste subșiruri.
Sintaxă:

func Split(str, sep string) []string 

Aici, str este șirul și sep este separatorul. Dacă str nu conţine dat sep și sep nu este gol, atunci va returna o porțiune de lungime 1 care conține numai str . Sau dacă sep este gol, apoi se va împărți după fiecare secvență UTF-8. Sau dacă ambele str și sep sunt goale, atunci va returna o felie goală.
Exemplu:

Merge




// Go program to illustrate how to split a string> package> main> import> (> > 'fmt'> > 'strings'> )> // Main function> func> main() {> > // Creating and initializing the strings> > str1 :=> 'Welcome, to the, online portal, of techcodeview.com'> > str2 :=> 'My dog name is Dollar'> > str3 :=> 'I like to play Ludo'> > // Displaying strings> > fmt.Println(> 'String 1: '> , str1)> > fmt.Println(> 'String 2: '> , str2)> > fmt.Println(> 'String 3: '> , str3)> > // Splitting the given strings> > // Using Split() function> > res1 := strings.Split(str1,> ','> )> > res2 := strings.Split(str2,> ''> )> > res3 := strings.Split(str3,> '!'> )> > res4 := strings.Split(> ''> ,> 'techcodeview.com, geeks'> )> > // Displaying the result> > fmt.Println(> ' Result 1: '> , res1)> > fmt.Println(> 'Result 2: '> , res2)> > fmt.Println(> 'Result 3: '> , res3)> > fmt.Println(> 'Result 4: '> , res4)> }>

Ieșire:

String 1: Welcome, to the, online portal, of techcodeview.com String 2: My dog name is Dollar String 3: I like to play Ludo  Result 1: [Welcome to the online portal of techcodeview.com] Result 2: [M y d o g n a m e i s D o l l a r] Result 3: [I like to play Ludo] Result 4: [] 

2. SplitAfter: Această funcție împarte un șir în toate subșirurile după fiecare instanță a separatorului dat și returnează o porțiune care conține aceste subșiruri.
Sintaxă:

func SplitAfter(str, sep string) []string 

Aici, str este șirul și sep este separatorul. Dacă str nu conţine dat sep și sep nu este gol, atunci va returna o porțiune de lungime 1 care conține numai str . Sau dacă sep este gol, apoi se va împărți după fiecare secvență UTF-8. Sau dacă ambele str și sep sunt goale, atunci va returna o felie goală.
Exemplu:

Merge




// Go program to illustrate how to split a string> package> main> import> (> > 'fmt'> > 'strings'> )> // Main function> func> main() {> > // Creating and initializing the strings> > str1 :=> 'Welcome, to the, online portal, of techcodeview.com'> > str2 :=> 'My dog name is Dollar'> > str3 :=> 'I like to play Ludo'> > // Displaying strings> > fmt.Println(> 'String 1: '> , str1)> > fmt.Println(> 'String 2: '> , str2)> > fmt.Println(> 'String 3: '> , str3)> > // Splitting the given strings> > // Using SplitAfter() function> > res1 := strings.SplitAfter(str1,> ','> )> > res2 := strings.SplitAfter(str2,> ''> )> > res3 := strings.SplitAfter(str3,> '!'> )> > res4 := strings.SplitAfter(> ''> ,> 'techcodeview.com, geeks'> )> > // Displaying the result> > fmt.Println(> ' Result 1: '> , res1)> > fmt.Println(> 'Result 2: '> , res2)> > fmt.Println(> 'Result 3: '> , res3)> > fmt.Println(> 'Result 4: '> , res4)> }>

Ieșire:

String 1: Welcome, to the, online portal, of techcodeview.com String 2: My dog name is Dollar String 3: I like to play Ludo  Result 1: [Welcome, to the, online portal, of techcodeview.com] Result 2: [M y d o g n a m e i s D o l l a r] Result 3: [I like to play Ludo] Result 4: [] 

3. SplitAfterN: Această funcție împarte un șir în toate subșirurile după fiecare instanță a separatorului dat și returnează o porțiune care conține aceste subșiruri.
Sintaxă:

func SplitAfterN(str, sep string, m int) []string 

Aici, str este sfoara, sep este separatorul, iar m este folosit pentru a găsi numărul de subșiruri de returnat. Aici, dacă m>0 , apoi se întoarce cel mult m subșiruri și ultimul șir subșir nu se vor împărți. Dacă m == 0 , atunci va reveni nul. Dacă m <0 , apoi va returna toate subșirurile.
Exemplu:

Merge




// Go program to illustrate how to split a string> package> main> import> (> > 'fmt'> > 'strings'> )> // Main function> func> main() {> > // Creating and initializing the strings> > str1 :=> 'Welcome, to the, online portal, of techcodeview.com'> > str2 :=> 'My dog name is Dollar'> > str3 :=> 'I like to play Ludo'> > // Displaying strings> > fmt.Println(> 'String 1: '> , str1)> > fmt.Println(> 'String 2: '> , str2)> > fmt.Println(> 'String 3: '> , str3)> > // Splitting the given strings> > // Using SplitAfterN() function> > res1 := strings.SplitAfterN(str1,> ','> ,> 2> )> > res2 := strings.SplitAfterN(str2,> ''> ,> 4> )> > res3 := strings.SplitAfterN(str3,> '!'> ,> 1> )> > res4 := strings.SplitAfterN(> ''> ,> 'techcodeview.com, geeks'> ,> 3> )> > // Displaying the result> > fmt.Println(> ' Result 1: '> , res1)> > fmt.Println(> 'Result 2: '> , res2)> > fmt.Println(> 'Result 3: '> , res3)> > fmt.Println(> 'Result 4: '> , res4)> }>

Ieșire:

String 1: Welcome, to the, online portal, of techcodeview.com String 2: My dog name is Dollar String 3: I like to play Ludo  Result 1: [Welcome, to the, online portal, of techcodeview.com] Result 2: [M y dog name is Dollar] Result 3: [I like to play Ludo] Result 4: []