English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В языке GoСтрокаОтличается от Java, C++, Python и других языков. Это серия символов с переменной шириной, каждый из которых кодируется одним или несколькими байтами в формате UTF-8. В строках Go можно использовать следующие функции для разбиения строки на список. Эти функции определены в пакете строк, поэтому вам нужно импортировать пакет строк в вашем приложении, чтобы получить доступ к этим функциям:
1.Split:Эта функция разбивает строку на все подстроки, разделенные заданным разделителем, и возвращает срез, содержащий эти подстроки.
Синтаксис:
func Split(str string, sep string) []string
Здесь str является строкой, sep является разделителем. Если str не содержит заданного sep и sep не пуст, то он вернет срез длиной 1, содержащий только str. Или, если sep пуст, то он разбивает после каждого UTF-8 последовательности. Или, если str и sep оба пусты, то он вернет пустой срез.
package main import ( "fmt" "strings" ) func main() { // Создавать и инициализировать строки str1 := "Welcome, to the, online portal, of w3codebox" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" // Показывать строки fmt.Println("Строка 1: ", str1) fmt.Println("Строка 2: ", str2) fmt.Println("Строка 3: ", str3) // Разбивать заданную строку //Использование функции Split() res1 := strings.Split(str1, ",") res2 := strings.Split(str2, "") res3 := strings.Split(str3, "!") res4 := strings.Split("", "w3codebox, geeks") //Отображение результатов fmt.Println("\nРезультат 1: ", res1) fmt.Println("Результат 2: ", res2) fmt.Println("Результат 3: ", res3) fmt.Println("Результат 4: ", res4) }
Вывод:
Строка 1: [Добро пожаловать, в онлайн портал, w3codebox] Строка 2: [Мой пес по имени Доллар] Строка 3: [Я люблю играть в Лудо] Результат 1: [Welcome to the online portal of w3codebox] Результат 2: [M y d o g n a m e i s D o l l a r] Результат 3: [Я люблю играть в Лудо] Результат 4: []
2. SplitAfter:Эта функция разбивает строку на все подстроки после каждого примера разделителя и возвращает срез, содержащий эти подстроки.
Синтаксис:
func SplitAfter(str string, sep string) []string
Здесь str является строкой, sep является разделителем. Если str не содержит заданного sep и sep не пуст, то он вернет срез длиной 1, содержащий только str. Или, если sep пуст, то он разбивает после каждого UTF-8 последовательности. Или, если str и sep оба пусты, то он вернет пустой срез.
package main import ( "fmt" "strings" ) func main() { // Создавать и инициализировать строки str1 := "Welcome, to the, online portal, of w3codebox" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" // Показывать строки fmt.Println("Строка 1: ", str1) fmt.Println("Строка 2: ", str2) fmt.Println("Строка 3: ", str3) // Разбивать заданную строку //Использование функции SplitAfter() res1 := strings.SplitAfter(str1, ",") res2 := strings.SplitAfter(str2, "") res3 := strings.SplitAfter(str3, "!") res4 := strings.SplitAfter("", "w3codebox, geeks") // Показывать результаты fmt.Println("\nРезультат 1: ", res1) fmt.Println("Результат 2: ", res2) fmt.Println("Результат 3: ", res3) fmt.Println("Результат 4: ", res4) }
Вывод:
Строка 1: [Добро пожаловать, в онлайн портал, w3codebox] Строка 2: [Мой пес по имени Доллар] Строка 3: [Я люблю играть в Лудо] Результат 1: [Welcome, to the, online portal, of w3codebox] Результат 2: [M y d o g n a m e i s D o l l a r] Результат 3: [Я люблю играть в Лудо]
3. SplitAfterN:Эта функция разбивает строку на все подстроки после каждого примера разделителя и возвращает срез, содержащий эти подстроки.
Синтаксис:
func SplitAfterN(str string, sep string, m int) []string
здесь,strявляется строкой,sepявляется разделителем, m используется для поиска количества подстрок, которые нужно вернуть. Здесь, еслиm> 0Тогда максимальное количество, которое оно может вернутьmподстроки, и последняя строковая подстрока не будет разрезана. Еслиm == 0если m == 0, то оно вернет nil. Еслиm < 0если m < 0, то оно вернет все подстроки.
package main import ( "fmt" "strings" ) func main() { // Создавать и инициализировать строки str1 := "Welcome, to the, online portal, of w3codebox" str2 := "My dog name is Dollar" str3 := "I like to play Ludo" // Показывать строки fmt.Println("Строка 1: ", str1) fmt.Println("Строка 2: ", str2) fmt.Println("Строка 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("\nРезультат 1: ", res1) fmt.Println("Результат 2: ", res2) fmt.Println("Результат 3: ", res3) fmt.Println("Результат 4: ", res4) }
Вывод:
Строка 1: [Добро пожаловать, в онлайн портал, w3codebox] Строка 2: [Мой пес по имени Доллар] Строка 3: [Я люблю играть в Лудо] Результат 1: [Добро пожаловать, в онлайн портал, w3codebox] Результат 2: [Мой пес по имени Доллар] Результат 3: [Я люблю играть в Лудо] Результат 4: []