Hur delar man en sträng i Golang?
På Go-språket, strängar skiljer sig från andra språk som Java , C++ , Pytonorm , etc. Det är en sekvens av tecken med variabel bredd där varje tecken representeras av en eller flera byte med UTF-8-kodning. I Go-strängar får du dela upp en sträng i en skiva med hjälp av följande funktioner. Dessa funktioner är definierade under strängpaketet så du måste importera strängarspaket i ditt program för att komma åt dessa funktioner:
1. Dela: Denna funktion delar upp en sträng i alla delsträngar separerade av den givna avgränsaren och returnerar en del som innehåller dessa delsträngar.
Syntax:
func Split(str, sep string) []string
Här, str är strängen och sep är avskiljaren. Om str innehåller inte det givna sep och sep är icke-tom, kommer den att returnera en del av längden 1 som endast innehåller str . Eller om sep är tom, kommer den att delas efter varje UTF-8-sekvens. Eller om båda str och sep är tomma, kommer den att returnera en tom skiva.
Exempel:
Gå
// 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)> }> |
Produktion:
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: Denna funktion delar upp en sträng i alla delsträngar efter varje instans av den givna separatorn och returnerar en del som innehåller dessa delsträngar.
Syntax:
func SplitAfter(str, sep string) []string
Här, str är strängen och sep är avskiljaren. Om str innehåller inte det givna sep och sep är icke-tom, kommer den att returnera en del av längden 1 som endast innehåller str . Eller om sep är tom, kommer den att delas efter varje UTF-8-sekvens. Eller om båda str och sep är tomma, kommer den att returnera en tom skiva.
Exempel:
Gå
// 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)> }> |
Produktion:
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: Denna funktion delar upp en sträng i alla delsträngar efter varje instans av den givna separatorn och returnerar en del som innehåller dessa delsträngar.
Syntax:
func SplitAfterN(str, sep string, m int) []string
Här, str är strängen, sep är avgränsaren och m används för att hitta antalet delsträngar som ska returneras. Här, om m>0 , då återvänder den som mest m delsträngar och den sista strängens delsträng kommer inte att delas. Om m == 0 , då återgår det noll. Om m <0 , då returnerar den alla delsträngar.
Exempel:
Gå
// 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)> }> |
Produktion:
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: []