РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
121 of 1593 menu

Функция strings.ToValidUTF8

Функция strings.ToValidUTF8 проверяет строку на наличие невалидных UTF-8 последовательностей и заменяет их на указанную подстроку. Первым параметром функция принимает исходную строку для проверки, вторым параметром - строку замены для невалидных символов.

Синтаксис

strings.ToValidUTF8(str, replacement)

Пример

Давайте проверим строку, содержащую невалидную UTF-8 последовательность, и заменим ее на символ вопросительного знака:

package main import ( "fmt" "strings" ) func main() { // Создаем строку с невалидной UTF-8 последовательностью invalidStr := "Hello\xffWorld" res := strings.ToValidUTF8(invalidStr, "?") fmt.Println(res) }

Результат выполнения кода:

"Hello?World"

Пример

Заменим невалидные UTF-8 символы на пустую строку, тем самым удалив их:

package main import ( "fmt" "strings" ) func main() { // Создаем строку с невалидными UTF-8 последовательностями invalidStr := "abc\xff\xfedef" res := strings.ToValidUTF8(invalidStr, "") fmt.Println(res) }

Результат выполнения кода:

"abcdef"

Пример

Если строка полностью валидна, функция возвращает ее без изменений:

package main import ( "fmt" "strings" ) func main() { validStr := "Hello, 世界" res := strings.ToValidUTF8(validStr, "?") fmt.Println(res) }

Результат выполнения кода:

"Hello, 世界"

Пример

Проверим строку, содержащую несколько невалидных последовательностей, и заменим их на пользовательскую подстроку:

package main import ( "fmt" "strings" ) func main() { // Создаем строку с несколькими невалидными UTF-8 последовательностями invalidStr := "\xffHello\xfe\xffWorld\xfd" res := strings.ToValidUTF8(invalidStr, "[INVALID]") fmt.Println(res) }

Результат выполнения кода:

"[INVALID]Hello[INVALID][INVALID]World[INVALID]"

Смотрите также

  • функцию utf8.ValidString,
    которая проверяет, является ли строка валидным UTF-8
  • функцию utf8.RuneCountInString,
    которая подсчитывает количество рун в строке
  • функцию strings.Map,
    которая преобразует каждый символ строки с помощью функции
  • функцию strings.ReplaceAll,
    которая заменяет все вхождения подстроки на другую строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить