От rosettacode.org:
Вы можете найти этот вид Функция:
func stripChars(str, chr string) string {
return strings.Map(func(r rune) rune {
if strings.IndexRune(chr, r) < 0 {
return r
}
return -1
}, str)
}
Итак, просто заменив chr
на " "
здесь должно быть достаточно, чтобы сделать трюк и удалить пробельные.
Остерегайтесь того, что существуют другие типы пробелов, определенные в unicode (например, разрыв строки, nbsp, ...), и вы также можете избавиться от них (особенно если вы работаете с внешними данными, т действительно есть контроль над)
Это будет сделано таким образом:
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)
}
Затем просто применить к строке. Надеюсь, он работает, не тестировал.
@evanmcdonnal Почему бы вы сделать вывод, что? Я спрашиваю о наилучшем/наиболее быстром способе выполнения общей операции. Я не вижу проблемы с моим вопросом. – Omn
Если я пытаюсь разобрать данный ввод как можно более эффективно, он обычно помогает узнать, что это за вход. Почему я должен это сделать? Потому что вы опустили соответствующую информацию. – evanmcdonnal
@evanmcdonnal Хорошо, я разъяснил, что я спрашиваю о любой произвольной строке. – Omn