Función strings.FieldsFunc() en Golang con ejemplos

La función strings.FieldsFunc() en Golang se usa para dividir la string dada str en cada ejecución de los puntos de código Unicode c que satisfacen f(c) y devuelve una array de segmentos de str.

Sintaxis:

func FieldsFunc(str string, f func(rune) bool) []string

Aquí, str es la string dada, la runa es un tipo incorporado destinado a contener un solo carácter Unicode y f es una función definida por el usuario.

Retorno: si todos los puntos de código en str satisfacen f(c) o la string está vacía, se devuelve un segmento vacío.

Nota: Esta función no garantiza el orden en que llama a f(c). Si f no devuelve resultados consistentes para un c dado, FieldsFunc puede fallar.

Ejemplo 1:

// Golang program to illustrate the
// strings.FieldsFunc() Function
  
package main
  
import (
    "fmt"
    "strings"
    "unicode"
)
  
func main() {
  
    // f is a function which returns true if the
    // c is number and false otherwise
    f := func(c rune) bool {
        return unicode.IsNumber(c)
    }
  
    // FieldsFunc() function splits the string passed
    // on the return values of the function f
    // String will therefore be split when a number
    // is encontered and returns all non-numbers
    fmt.Printf("Fields are: %q\n", 
       strings.FieldsFunc("ABC123PQR456XYZ789", f))
}

Producción:

Fields are: ["ABC" "PQR" "XYZ"]

Ejemplo 2:

// Golang program to illustrate the
// strings.FieldsFunc() Function
package main
  
import (
    "fmt"
    "strings"
    "unicode"
)
  
func main() {
  
    // f is a function which returns true if the
    // c is a white space or a full stop
    // and returns false otherwise
    f := func(c rune) bool {
        return unicode.IsSpace(c) || c == '.'
    }
  
    // We can also pass a string indirectly
    // The string will split when a space or a
    // full stop is encontered and returns all non-numbers
    s := "We are humans. We are social animals."
    fmt.Printf("Fields are: %q\n", strings.FieldsFunc(s, f))
}

Producción:

Fields are: ["We" "are" "humans" "We" "are" "social" "animals"]

Publicación traducida automáticamente

Artículo escrito por vanigupta20024 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 *