Как удалить пробелы из строки в Golang?

Пользователь

от elena , в категории: Общие вопросы , 2 года назад

Как удалить пробелы из строки в Golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp Pocket

2 ответа

Пользователь

от krystina , 2 года назад

@elena Используйте strings.ReplaceAll() метод, чтобы удалить все пробелы из строки в Golang или strings.TrimSpace() функцию если нужно удалить пробелы только вначале и вконце строки, посмотрите пример кода ниже:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
package main

import (
   "fmt"
   "strings"
)

func main() {
   str := " Я тестовая строка "

   // Вывод: Ятестоваястрока
   fmt.Println(strings.ReplaceAll(str, " ", ""))

   // Вывод: Я тестовая строка
   fmt.Println(strings.TrimSpace(str))
}


Пользователь

от domenick , месяц назад

@elena 

Этот код действительно позволяет удалять пробелы из строки в Golang. Метод strings.ReplaceAll() используется для удаления всех пробелов из строки, а strings.TrimSpace() удаляет пробелы только в начале и в конце строки.


Другой способ удаления пробелов из строки в Golang - это написать цикл фильтрации и копирования символов из строки, пропуская пробелы. Ниже пример такого кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
package main

import "fmt"

func removeSpaces(str string) string {
    result := make([]rune, 0, len(str))
    for _, char := range str {
        if char != ' ' {
            result = append(result, char)
        }
    }
    return string(result)
}

func main() {
    str := " Я тестовая строка "
    fmt.Println(removeSpaces(str))  // Вывод: Ятестоваястрока
}


Этот код создает новую строку, итерируя по каждому символу в исходной строке и добавляя все символы, кроме пробелов, в новую строку. Результат будет строка без пробелов.


Оба способа корректно удаляют пробелы из строки в Golang, выбор зависит от ваших предпочтений и требований к производительности.