Функция strconv.UnquoteChar
Функция strconv.UnquoteChar извлекает первый экранированный символ из строки,
декодируя управляющие последовательности. Она возвращает три значения:
сам символ в виде rune, его ширину в байтах и ошибку,
если строка содержит неверный синтаксис экранирования.
В первый параметр передается строка для анализа,
во второй параметр - позиция начала разбора,
в третий параметр - признак использования кавычек для экранирования.
Синтаксис
strconv.UnquoteChar(s string, quote byte) (value rune, multibyte bool, tail string, err error)
Пример
Давайте извлечем экранированный символ из строки с управляющей последовательностью:
package main
import (
"fmt"
"strconv"
)
func main() {
s := `\nHello`
value, _, _, err := strconv.UnquoteChar(s, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("%c\n", value)
}
Результат выполнения кода:
\n
Пример
Давайте извлечем шестнадцатеричный экранированный символ из строки:
package main
import (
"fmt"
"strconv"
)
func main() {
s := `\x41BC`
value, _, _, err := strconv.UnquoteChar(s, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("%c\n", value)
}
Результат выполнения кода:
"A"
Пример
Давайте извлечем восьмеричный экранированный символ из строки:
package main
import (
"fmt"
"strconv"
)
func main() {
s := `\101BC`
value, _, _, err := strconv.UnquoteChar(s, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("%c\n", value)
}
Результат выполнения кода:
"A"
Пример
Давайте извлечем символ Unicode из строки с управляющей последовательностью:
package main
import (
"fmt"
"strconv"
)
func main() {
s := `\u0041BC`
value, _, _, err := strconv.UnquoteChar(s, 0)
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("%c\n", value)
}
Результат выполнения кода:
"A"
Смотрите также
-
функцию
strconv.Quote,
которая экранирует строку в кавычках -
функцию
strconv.Unquote,
которая удаляет кавычки и экранирует строку целиком -
функцию
strconv.QuoteRune,
которая экранирует руну в кавычках -
функцию
strconv.CanBackquote,
которая проверяет возможность использования обратных кавычек