Ce face strings.Trim
strings.Trim(s, cutset) elimină de la începutul și sfârșitul lui s toate caracterele care apar în cutset, oricâte și în orice ordine, până dă de un caracter care nu este în set. TrimLeft lucrează doar la început, TrimRight doar la sfârșit.
Al doilea argument este un set de caractere, nu un text exact. strings.TrimRight("raport.txt", ".txt") scoate toate literele t, x și punctele de la sfârșit și dă "rapor"! Pentru a scoate un prefix sau un sufix exact folosește strings.TrimPrefix și TrimSuffix.
Parametri
| Parametru | Descriere |
|---|---|
s |
Textul de curățat. |
cutset |
Caracterele de eliminat de la capete (ca set, nu ca text). |
Ce returnează
Textul fără caracterele din set la capete.
Exemple
Exemplul 1: Punctuație și zerouri de la capete
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Trim("!!!Salut, Ana!!!", "!"))
fmt.Println(strings.Trim("--==Titlu==--", "-="))
fmt.Println(strings.TrimLeft("000452", "0"))
fmt.Println(strings.TrimRight("12.5000", "0"))
fmt.Println(strings.TrimRight("Bună ziua...", "."))
}
Rezultat
Salut, Ana
Titlu
452
12.5
Bună ziua
Exemplul 2: Capcana: setul de caractere nu este un sufix
package main
import (
"fmt"
"strings"
)
func main() {
fisier := "raport.txt"
fmt.Println("TrimRight: ", strings.TrimRight(fisier, ".txt"))
fmt.Println("TrimSuffix:", strings.TrimSuffix(fisier, ".txt"))
fmt.Println("TrimLeft: ", strings.TrimLeft("ana-maria", "an"))
}
Rezultat
TrimRight: rapor
TrimSuffix: raport
TrimLeft: -maria
Greșeli frecvente
- Folosești
TrimLeft/TrimRightca să scoți un prefix sau sufix exact. Ele scot orice caracter din set și pot tăia prea mult; foloseșteTrimPrefix/TrimSuffix. - Scrii
Trim(s, " ")pentru spații albe. Tab-urile și rândurile noi rămân; foloseșteTrimSpace.
Comenzi înrudite
strings.TrimSpace: Scoate spațiile albe (spații, tab, rânduri noi) de la începutul și sfârșitul textului.strings.TrimPrefix: Scoate o singură dată un prefix (TrimPrefix) sau un sufix (TrimSuffix) exact, dacă textul îl are.strings.TrimFunc: Scoate de la capete caracterele pentru care funcția dată returnează true (la ambele capete, la început sau la sfârșit).