English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Go 언어에서는문자열와는 달리 C ++Python 등 다른 언어와는 달리. 이는 너비가 변하는 문자열의 시퀀스입니다. 각 문자는 UTF-8编码은 하나나 많은 바이트로 표현됩니다. Go 문자열에서는 다음 함수를 사용하여 문자열을 슬라이스로 분할할 수 있습니다. 이 함수들은 문자열 패키지 아래에 정의되어 있으며, 따라서 이 함수에 접근하기 위해 문자열 패키지를 프로그램에 가져오아야 합니다:
1.Split:이 함수는 문자열을 주어진 구분자로 분할한 모든 서브 문자열을 포함하는 슬라이스를 반환합니다.
문법:
func Split(str, sep string) []string
여기서, str은 문자열이고, sep는 구분자입니다. str이 주어진 sep를 포함하지 않으면서 sep가 비어 있지 않으면, 길이가1의 슬라이스, 그 중에는 단지 str이 포함됩니다. 또는 sep가 비어 있으면, 각 UTF-8시퀀스를 분할한 후. 또는 str과 sep 모두가 비어 있으면, 빈 슬라이스를 반환합니다.
package main import ( "fmt" "strings" ) func main() { //문자 생성 및 초기화 str1 := "온라인 포털에 오신 것을 환영합니다,3codebox" str2 := "나의 개의 이름은 돌러" str3 := "나는 루도를 플레이하려고 합니다" //문자열 표시 fmt.Println("String 1: ", str1) fmt.Println("String 2: ", str2) fmt.Println("String 3: ", str3) //지정된 문자열을 분할 //Split() 함수 사용 res1 1, ",") res2 2, "") res3 3 res4 := strings.Split(3codebox, geeks) // 결과 표시 fmt.Println("\nResult 1: ", res1) fmt.Println("Result 2: ", res2) fmt.Println("Result 3: ", res3) fmt.Println("Result 4: ", res4) }
출력:
String 1: 온라인 포털에 오신 것을 환영합니다,3codebox String 2: 나의 개의 이름은 돌러 String 3: 나는 루도를 플레이하려고 합니다 결과 1: [Welcome to the online portal of w3codebox] 결과 2: [나는 개의 이름은 돌러] 결과 3: [나는 루도를 플레이하려고 합니다] 결과 4: []
2. SplitAfter:이 함수는 주어진 구분자의 각 인스턴스 이후 문자열을 모든 서브 문자열로 분할하고, 이러한 서브 문자열을 포함한 슬라이스를 반환합니다。
문법:
func SplitAfter(str, sep string) []string
여기서, str은 문자열이고, sep는 구분자입니다. str이 주어진 sep를 포함하지 않으면서 sep가 비어 있지 않으면, 길이가1의 슬라이스, 그 중에는 단지 str이 포함됩니다. 또는 sep가 비어 있으면, 각 UTF-8시퀀스를 분할한 후. 또는 str과 sep 모두가 비어 있으면, 빈 슬라이스를 반환합니다.
package main import ( "fmt" "strings" ) func main() { //문자 생성 및 초기화 str1 := "온라인 포털에 오신 것을 환영합니다,3codebox" str2 := "나의 개의 이름은 돌러" str3 := "나는 루도를 플레이하려고 합니다" //문자열 표시 fmt.Println("String 1: ", str1) fmt.Println("String 2: ", str2) fmt.Println("String 3: ", str3) //지정된 문자열을 분할 //SplitAfter() 함수 사용 res1 := strings.SplitAfter(str1, ",") res2 := strings.SplitAfter(str2, "") res3 := strings.SplitAfter(str3 res4 := strings.SplitAfter(3codebox, geeks) //결과 표시 fmt.Println("\nResult 1: ", res1) fmt.Println("Result 2: ", res2) fmt.Println("Result 3: ", res3) fmt.Println("Result 4: ", res4) }
출력:
String 1: 온라인 포털에 오신 것을 환영합니다,3codebox String 2: 나의 개의 이름은 돌러 String 3: 나는 루도를 플레이하려고 합니다 결과 1: [온라인 포털에 오신 것을 환영합니다,]3codebox] 결과 2: [나는 개의 이름은 돌러] 결과 3: [나는 루도를 플레이하려고 합니다]
3. SplitAfterN:이 함수는 주어진 구분자의 각 인스턴스 이후 문자열을 모든 서브 문자열로 분할하고, 이러한 서브 문자열을 포함한 슬라이스를 반환합니다。
문법:
func SplitAfterN(str, sep string, m int) []string
여기서str은 문자열이면sep은 구분자이며 m은 반환할 서브 문자열의 개수를 찾기 위해 사용됩니다. 여기서m> 0,그렇다면 최대로m개의 서브 문자열을 반환하며, 마지막 문자열 서브 문자열은 분할되지 않습니다。만약m == 0,이 경우 nil을 반환합니다. 만약m <0،이 경우 모든 서브 문자열을 반환합니다。
package main import ( "fmt" "strings" ) func main() { //문자 생성 및 초기화 str1 := "온라인 포털에 오신 것을 환영합니다,3codebox" str2 := "나의 개의 이름은 돌러" str3 := "나는 루도를 플레이하려고 합니다" //문자열 표시 fmt.Println("String 1: ", str1) fmt.Println("String 2: ", str2) fmt.Println("String 3: ", str3) //지정된 문자열을 분할 //SplitAfterN() 함수 사용 res1 := strings.SplitAfterN(str1, ",", 2) res2 := strings.SplitAfterN(str2, "", 4) res3 := strings.SplitAfterN(str3, "!", 1) res4 := strings.SplitAfterN("", "w3codebox, geeks", 3) //결과 표시 fmt.Println("\nResult 1: ", res1) fmt.Println("Result 2: ", res2) fmt.Println("Result 3: ", res3) fmt.Println("Result 4: ", res4) }
출력:
String 1: 온라인 포털에 오신 것을 환영합니다,3codebox String 2: 나의 개의 이름은 돌러 String 3: 나는 루도를 플레이하려고 합니다 결과 1: [온라인 포털에 오신 것을 환영합니다,3codebox] 결과 2: [나의 개의 이름은 돌러] 결과 3: [나는 루도를 플레이하려고 합니다] 결과 4: []