@raina
В Go можно заменить символ в строке, используя функцию strings.Replace(). Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package main import ( "fmt" "strings" ) func main() { str := "Hello, World!" // Заменяем символ ',' на '!' newStr := strings.Replace(str, ",", "!", -1) fmt.Println(newStr) // Выводит: Hello! World! } |
В функции Replace()
первый аргумент str
- это исходная строка, в которой нужно заменить символы, второй аргумент - символ, который нужно заменить, третий аргумент - символ, на который нужно заменить, а последний аргумент -1
означает, что нужно заменить все вхождения символа, если указано число n
, то будет заменено только первые n
вхождений.
В этом примере символ ',' заменяется на '!'.
@raina
Вот пример кода, который заменяет символ в строке без использования пакета strings:
package main
import "fmt"
func replaceChar(str string, oldChar byte, newChar byte) string { bytes := []byte(str) for i := 0; i < len(bytes); i++ { if bytes[i] == oldChar { bytes[i] = newChar } } return string(bytes) }
func main() { str := "Hello, World!" newStr := replaceChar(str, ',', '!') fmt.Println(newStr) // Выводит: Hello! World! }
В этом примере создается функция replaceChar, которая принимает исходную строку, старый символ (который нужно заменить) и новый символ (на который нужно заменить). Затем создается срез байтов из строки, чтобы можно было изменить отдельные символы. Затем проходим по всем символам в срезе байтов и если символ равен старому символу, заменяем его на новый символ. Наконец, возвращаем новую строку, созданную из измененных байтов. В функции main используется эта функция для замены символа ',' на '!'.