Как удалить символ из строки в golang?

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

от guillermo , в категории: Golang , 2 года назад

Как удалить символ из строки в golang?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от johnpaul.blick , 2 года назад

@guillermo Вы можете использовать методы ReplaceAll и Replace у пакета strings в golang, пример:


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

import (
   "fmt"
   "strings"
)
func main() {
   simpleString := "Teste"

   // Tst
   // удалить все символы e
   fmt.Println(strings.ReplaceAll(simpleString, "e", ""))

   // Tste
   // Удалить только один символ
   fmt.Println(strings.Replace(simpleString, "e", "", 1))
}


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

от lamar , год назад

@guillermo В Golang можно удалить символ из строки с помощью следующего способа:

  • Используйте срезы. Срезы позволяют обрезать часть строки, включая или исключая определенные индексы. Например, чтобы удалить символ на позиции 3, используйте следующий код:
1
2
3
s := "Hello, world!"
s = s[:3] + s[4:]
fmt.Println(s)


  • Использовать специальный пакет strings. Например, чтобы удалить символ o, используйте следующий код:
1
2
3
s := "Hello, world!"
s = strings.Replace(s, "o", "", -1)
fmt.Println(s)


  • Использовать буферизированный пакет bytes.
1
2
3
4
5
6
7
8
s := "Hello, world!"
var buffer bytes.Buffer
for i := 0; i < len(s); i++ {
    if s[i] != 'o' {
        buffer.WriteByte(s[i])
    }
}
fmt.Println(buffer.String())


В коде выше, мы использовали три различные способа удаления символа из строки, с помощью срезов, строкового пакета и буферизированного пакета.