English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang 基础教程

Golang 控制语句

Golang 函数 & 方法

Golang 结构体

Golang 切片 & 数组

Golang 字符串(String)

Golang 指针

Golang 接口

Golang 并发

Golang 异常(Error)

Golang 其他杂项

Go 语言字符串分割

在Go语言中,字符串不同于Java,C ++,Python等其他语言。它是一系列宽度可变的字符,其中每个字符都使用UTF-8编码由一个或多个字节表示。在Go字符串中,可以使用以下函数将字符串拆分为一个切片。这些函数是在字符串包下定义的,因此,您必须在程序中导入字符串包才能访问这些函数:

1.Split:此函数将字符串拆分为由给定分隔符分隔的所有子字符串,并返回包含这些子字符串的切片。

Sintaxis:

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() {
    //Crear e inicializar la cadena
    str1 := "Welcome, to the, online portal, of w"3codebox"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
    //Mostrar cadena
    fmt.Println("Cadena" 1:     "str"1)
    fmt.Println("Cadena" 2:     "str"2)
    fmt.Println("Cadena" 3:     "str"3)
    //Dividir la cadena dada
    //使用Split()函数
    res1 := strings.Split(str1, ",")
    res2 := strings.Split(str2, "")
    res3 := strings.Split(str3, "!")
    res4 := strings.Split("", "w3codebox, geeks")
    // Mostrar resultado
    fmt.Println("\nResult 1:     "res"1)
    fmt.Println("Result 2:     "res"2)
    fmt.Println("Result 3:     "res"3)
    fmt.Println("Result 4:     "res"4)
   }

Salida:

String 1:     Bienvenido, al portal en línea de w3codebox
String 2:     Mi perro se llama Dollar
String 3:     Me gustaría jugar a Ludo
Resultado 1:  [Bienvenido  al  portal  en  línea  de  w3codebox]
Resultado 2:     [M i    g u e r    d o    g    n    a    m    e    i    s    D o    l    l    a    r]
Resultado 3:     [Me gustaría jugar a Ludo]
Resultado 4:  []

2. SplitAfter:Esta función divide la cadena dada en todas las subcadenas después de cada instancia del separador y devuelve un slice que contiene estas subcadenas.

Sintaxis:

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() {
    //Crear e inicializar la cadena
    str1 := "Welcome, to the, online portal, of w"3codebox"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
    //Mostrar cadena
    fmt.Println("Cadena" 1:     "str"1)
    fmt.Println("Cadena" 2:     "str"2)
    fmt.Println("Cadena" 3:     "str"3)
    //Dividir la cadena dada
    //使用SplitAfter()函数
    res1 := strings.SplitAfter(str1, ",")
    res2 := strings.SplitAfter(str2, "")
    res3 := strings.SplitAfter(str3, "!")
    res4 := strings.SplitAfter("", "w3codebox, geeks")
    //Mostrar resultado
    fmt.Println("\nResult 1:     "res"1)
    fmt.Println("Result 2:     "res"2)
    fmt.Println("Result 3:     "res"3)
    fmt.Println("Result 4:     "res"4)
}

Salida:

String 1:     Bienvenido, al portal en línea de w3codebox
String 2:     Mi perro se llama Dollar
String 3:     Me gustaría jugar a Ludo
Resultado 1:     [Bienvenido,    a    l    a    p    o    r    t    a    l    e    n    l    í    n    e    ,    d    e    w]3codebox]
Resultado 2:     [M i    g u e r    d o    g    n    a    m    e    i    s    D o    l    l    a    r]
Resultado 3:     [Me gustaría jugar a Ludo]

3. SplitAfterN:Esta función divide la cadena dada en todas las subcadenas después de cada instancia del separador y devuelve un slice que contiene estas subcadenas.

Sintaxis:

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

aquí,stres una cadena,sepes el separador, m se usa para encontrar el número de subcadenas que se devolverán. Aquí, sim > 0entonces devolverá como máximomsubcadenas y la última subcadena no se dividirá.m == 0entonces devolverá nil. Sim < 0si m < 0, entonces devolverá todas las subcadenas.

package main 
  
import ( 
    "fmt"
    "strings"
) 
  
func main() { 
  
    //Crear e inicializar la cadena
    str1 := "Welcome, to the, online portal, of w"3codebox"
    str2 := "My dog name is Dollar"
    str3 := "I like to play Ludo"
  
    //Mostrar cadena
    fmt.Println("Cadena" 1:     "str"1) 
    fmt.Println("Cadena" 2:     "str"2) 
    fmt.Println("Cadena" 3:     "str"3) 
  
    //Dividir la cadena dada
    //Uso de la función SplitAfterN()
    res1 := strings.SplitAfterN(str1, ",", 2) 
    res2 := strings.SplitAfterN(str2, "", 4) 
    res3 := strings.SplitAfterN(str3, "!", 1) 
    res4 := strings.SplitAfterN("", "w3codebox, geeks 3) 
  
    //Mostrar resultado 
    fmt.Println("\nResult 1:     "res"1) 
    fmt.Println("Result 2:     "res"2) 
    fmt.Println("Result 3:     "res"3) 
    fmt.Println("Result 4:     "res"4) 
  
}

Salida:

String 1:     Bienvenido, al portal en línea de w3codebox
String 2:     Mi perro se llama Dollar
String 3:     Me gustaría jugar a Ludo
Resultado 1:     [Bienvenido, al portal en línea de w]3codebox]
Resultado 2:     [Mi perro se llama Dollar]
Resultado 3:     [Me gustaría jugar a Ludo]
Resultado 4:  []