Home »
Golang »
Golang Reference
Golang strings.ToValidUTF8() Function with Examples
Golang | strings.ToValidUTF8() Function: Here, we are going to learn about the ToValidUTF8() function of the strings package with its usages, syntax, and examples.
Submitted by IncludeHelp, on August 23, 2021
strings.ToValidUTF8()
The ToValidUTF8() function is an inbuilt function of strings package which is used to get a copy of the string with each run of invalid UTF-8 byte sequences replaced by the replacement string. It accepts two parameters – a string and a replacement string and returns the string with invalid UTF-8 byte sequences replaced by the replacement string.
Syntax
func ToValidUTF8(str, replacement string) string
Parameters
- str : The string to be checked and replaced invalid UTF-8 byte sequence (if any)
- replacement : The string to be replaced with an invalid UTF-8 byte sequence, it may be an empty string.
Return Value
The return type of ToValidUTF8() function is a string, it returns a copy of the string with each run of invalid UTF-8 byte sequences replaced by the replacement string.
Example 1
// Golang program to demonstrate the
// example of strings.ToValidUTF8() Function
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.ToValidUTF8("Hello, world!", ""))
fmt.Println(strings.ToValidUTF8("Hello, world!", "OKAY"))
// Here, \xC9 is an invalid UTF-8 byte
// and, it will be replaced with OKAY
fmt.Println(strings.ToValidUTF8("Hello,\xC9world!", "OKAY"))
// Here, \x41 is a valid UTF-8 for character 'A'
// but, \xC9 is invalid which will be ignored
fmt.Println(strings.ToValidUTF8("Hello,\xC9\x41 world!", ""))
}
Output:
Hello, world!
Hello, world!
Hello,OKAYworld!
Hello,A world!
Example 2
// Golang program to demonstrate the
// example of strings.ToValidUTF8() Function
package main
import (
"fmt"
"strings"
)
func main() {
// replacing with empty string i.e.,
// ignoring the invalid UTF-8 byte sequences
fmt.Println(strings.ToValidUTF8("A\xfcB\xa1C\xa1D\xa1E\xa1F\xa1", ""))
// replacing with space
fmt.Println(strings.ToValidUTF8("A\xfcB\xa1C\xa1D\xa1E\xa1F\xa1", " "))
// replacing with ", "
fmt.Println(strings.ToValidUTF8("A\xfcB\xa1C\xa1D\xa1E\xa1F\xa1", ", "))
// there is no invalid UTF-8 byte sequence
fmt.Println(strings.ToValidUTF8("Hello, world!", ""))
}
Output:
ABCDEF
A B C D E F
A, B, C, D, E, F,
Hello, world!
Golang strings Package Functions »