Saltar al contenido

Cómo eliminar el último carácter de un string en Golang?

Ramón, parte de este gran equipo de trabajo, nos hizo el favor de escribir esta sección porque conoce a la perfección este tema.

Solución:

La función incorporada ya está disponible. http://golang.org/pkg/strings/#TrimSuffix

Aquí hay varias formas de eliminar los signos más finales.

package main

import (
    "fmt"
    "strings"
)

func TrimSuffix(s, suffix string) string 
    if strings.HasSuffix(s, suffix) 
        s = s[:len(s)-len(suffix)]
    
    return s


func main() 
    s := "a string ++"
    fmt.Println("s: ", s)

    // Trim one trailing '+'.
    s1 := s
    if last := len(s1) - 1; last >= 0 && s1[last] == '+' 
        s1 = s1[:last]
    
    fmt.Println("s1:", s1)

    // Trim all trailing '+'.
    s2 := s
    s2 = strings.TrimRight(s2, "+")
    fmt.Println("s2:", s2)

    // Trim suffix "+".
    s3 := s
    s3 = TrimSuffix(s3, "+")
    fmt.Println("s3:", s3)

Producción:

s:  a string ++
s1: a string +
s2: a string 
s3: a string +

Sin forma integrada. Pero es trivial hacerlo manualmente.

s := "mystring+"
sz := len(s)

if sz > 0 && s[sz-1] == '+' 
    s = s[:sz-1]

Si te ha resultado de provecho nuestro artículo, sería de mucha ayuda si lo compartes con otros seniors y nos ayudes a extender este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

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