Ce face strings.TrimPrefix
strings.TrimPrefix(s, prefix) returnează s fără prefix de la început, dacă îl are; altfel returnează s neschimbat. TrimSuffix face același lucru cu sfârșitul. Se scoate o singură apariție, ca text exact.
Dacă vrei să știi și dacă prefixul a existat, folosește strings.CutPrefix, care returnează și un bool.
Parametri
| Parametru | Descriere |
|---|---|
s |
Textul. |
prefix / suffix |
Textul exact de scos de la început / sfârșit. |
Ce returnează
Textul fără prefix (sufix) sau textul neschimbat.
Exemple
Exemplul 1: Adrese, extensii și monede
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.TrimPrefix("https://dexblog.ro", "https://"))
fmt.Println(strings.TrimPrefix("dexblog.ro", "https://"))
fmt.Println(strings.TrimSuffix("raport.txt", ".txt"))
fmt.Println(strings.TrimSuffix("150 lei lei", " lei"))
}
Rezultat
dexblog.ro
dexblog.ro
raport
150 lei
Exemplul 2: Numele fișierelor fără extensie
package main
import (
"fmt"
"strings"
)
func main() {
for _, f := range []string{"tema1.go", "tema2.go", "README.md"} {
fmt.Println(strings.TrimSuffix(f, ".go"))
}
}
Rezultat
tema1
tema2
README.md
Greșeli frecvente
- Te aștepți ca
TrimSuffixsă scoată toate aparițiile repetate: „150 lei lei” devine „150 lei”, nu „150”. Se scoate o singură dată. - Confunzi cu
TrimLeft/TrimRight, care primesc un set de caractere, nu un text exact.
Comenzi înrudite
strings.CutPrefix: Scoate un prefix (CutPrefix) sau un sufix (CutSuffix) din text și spune dacă exista.strings.HasPrefix: Verifică dacă un text începe (HasPrefix) sau se termină (HasSuffix) cu un anumit text.strings.Trim: Scoate de la capete orice caracter din setul dat: Trim la ambele capete, TrimLeft doar la început, TrimRight doar la sfârșit.