Da rosettacode.org:
Puoi trovare questo tipo di Funzione:
func stripChars(str, chr string) string {
return strings.Map(func(r rune) rune {
if strings.IndexRune(chr, r) < 0 {
return r
}
return -1
}, str)
}
Quindi, la semplice sostituzione chr
da " "
qui dovrebbe essere sufficiente per fare il trucco e rimuovere gli spazi bianchi.
Attenzione, ci sono altri tipi di spazi bianchi definiti da Unicode (come interruzione di riga, nbsp, ...), e potresti anche volerli eliminare (specialmente se lavori con dati esterni che non usi) t realmente avere il controllo su)
Questo dovrebbe essere fatto in questo modo:
func stripSpaces(str string) string {
return strings.Map(func(r rune) rune {
if unicode.IsSpace(r) {
// if the character is a space, drop it
return -1
}
// else keep it in the string
return r
}, str)
}
Poi semplicemente applicare alla stringa. Spero che funzioni, non abbia provato.
fonte
2015-08-18 20:42:07
@evanmcdonnal Perché si dedurre che? Sto chiedendo il modo migliore/più veloce per fare un'operazione generale. Non vedo il problema con la mia domanda. – Omn
Se sto cercando di analizzare un dato input nel modo più efficiente possibile, di solito è utile sapere quale input è. Perché dovrei dedurlo? Perché hai omesso le informazioni pertinenti. – evanmcdonnal
@evanmcdonnal Ok, bene ho chiarito che sto chiedendo di qualsiasi stringa arbitraria. – Omn