Voici plusieurs façons de supprimer le(s) signe(s) plus en fin de chaîne.
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 := "une chaîne ++"
fmt.Println("s: ", s)
// Supprimer un signe '+' en fin de chaîne.
s1 := s
if last := len(s1) - 1; last >= 0 && s1[last] == '+' {
s1 = s1[:last]
}
fmt.Println("s1:", s1)
// Supprimer tous les signes '+' en fin de chaîne.
s2 := s
s2 = strings.TrimRight(s2, "+")
fmt.Println("s2:", s2)
// Supprimer le suffixe "+".
s3 := s
s3 = TrimSuffix(s3, "+")
fmt.Println("s3:", s3)
}
Résultat :
s: une chaîne ++
s1: une chaîne +
s2: une chaîne
s3: une chaîne +
2 votes
La fonction intégrée est maintenant disponible. golang.org/pkg/strings/#TrimSuffix