Golang | Dividir un segmento separado por la expresión especificada

Una expresión regular es una secuencia de caracteres que define un patrón de búsqueda. El lenguaje Go admite expresiones regulares. Una expresión regular se usa para analizar, filtrar, validar y extraer información significativa de texto grande, como registros, la salida generada por otros programas, etc.
En Go regexp, puede dividir un segmento en substrings separadas por la expresión especificada con la ayuda del método Split() . Este método devuelve una porción de las substrings entre esas coincidencias de expresión y el recuento representa el número de substrings que se devolverán. Este método se define en el paquete regexp, por lo que para acceder a este método necesita importar el paquete regexp en su programa.

Sintaxis:

func (re *Regexp) Split(str string, m int) []string

Aquí, si m>0 , entonces devuelve como máximo m substrings y la última substring de string no se dividirá. Si m == 0 , entonces devolverá nil. Si m<0 , devolverá todas las substrings.

Ejemplo 1:

// Go program to illustrate how to split a
// slice separated by the specified expression
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Splitting the given slice which is
    // separated by the given expression
    // Using Split() method
    m1 := regexp.MustCompile(`e`)
  
    fmt.Println(m1.Split("GeeksforGeeks", -1))
    fmt.Println(m1.Split("GeeksforGeeks", 1))
    fmt.Println(m1.Split("GeeksforGeeks", 0))
    fmt.Println(m1.Split("GeeksforGeeks", 3))
    fmt.Println(m1.Split("GeeksforGeeks", 2))
    fmt.Println()
  
    m2 := regexp.MustCompile(`123`)
    fmt.Println(m2.Split("123Gee123ks123Geek123s", -2))
    fmt.Println(m2.Split("123Gee123ks123Geek123s", 3))
    fmt.Println(m2.Split("123Gee123ks123Geek123s", 0))
    fmt.Println(m2.Split("123Gee123ks123Geek123s", -1))
    fmt.Println(m2.Split("123Gee123ks123Geek123s", 1))
  
}

Producción:

[G  ksforG  ks]
[GeeksforGeeks]
[]
[G  ksforGeeks]
[G eksforGeeks]

[ Gee ks Geek s]
[ Gee ks123Geek123s]
[]
[ Gee ks Geek s]
[123Gee123ks123Geek123s]

Ejemplo 2:

// Go program to illustrate how to split a
// slice separated by the specified expression
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Creating and initializing a string
    // Using shorthand declaration
    s := "A vv regular vv  expression v is vv a sequence v"+
      " of vv characters v which define a vv search pattern."
  
    // Splitting the given slice which is
    // separated by the given expression
    // Using Split() method
    m := regexp.MustCompile(`v`)
    res1 := m.Split(s, -1)
    fmt.Println(res1)
  
    res2 := m.Split(s, 1)
    fmt.Println(res2)
  
    res3 := m.Split(s, -0)
    fmt.Println(res3)
  
    res4 := m.Split(s, -4)
    fmt.Println(res4)
  
}

Producción:

[A    regular     expression   is    a sequence   of    characters   which define a    search pattern.]
[A vv regular vv  expression v is vv a sequence v of vv characters v which define a vv search pattern.]
[]
[A    regular     expression   is    a sequence   of    characters   which define a    search pattern.]

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *