Функция strings.ToTitle
Функция strings.ToTitle преобразует все символы строки
в заглавные буквы, следуя правилам Unicode. В отличие от
strings.ToUpper, эта функция предназначена для
преобразования текста в формат, пригодный для заголовков
(title case), где некоторые символы могут иметь специальные
правила преобразования. В первый параметр мы передаем
строку, которую необходимо преобразовать. Функция
возвращает новую строку с преобразованными символами.
Исходная строка при этом не изменяется.
Синтаксис
strings.ToTitle(str)
Пример
Давайте преобразуем строку 'hello world' в заглавные
буквы:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.ToTitle("hello world")
fmt.Println(res)
}
Результат выполнения кода:
"HELLO WORLD"
Пример
Давайте сравним поведение strings.ToTitle и
strings.ToUpper на строке с символом 'ß'
(немецкая буква эсцет). В немецком языке символ 'ß'
преобразуется в 'SS' при использовании ToUpper, но
ToTitle также обрабатывает его специальным образом:
package main
import (
"fmt"
"strings"
)
func main() {
str := "straße"
resUpper := strings.ToUpper(str)
resTitle := strings.ToTitle(str)
fmt.Println("ToUpper:", resUpper)
fmt.Println("ToTitle:", resTitle)
}
Результат выполнения кода:
"ToUpper: STRASSE"
"ToTitle: STRASSE"
Пример
Рассмотрим преобразование строки с символами из разных алфавитов. Для кириллических символов преобразование работает аналогично:
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.ToTitle("привет мир")
fmt.Println(res)
}
Результат выполнения кода:
"ПРИВЕТ МИР"
Пример
Функция корректно обрабатывает смешанные строки, содержащие символы в разных регистрах, а также цифры и спецсимволы (они не изменяются):
package main
import (
"fmt"
"strings"
)
func main() {
res := strings.ToTitle("go123!@# programming")
fmt.Println(res)
}
Результат выполнения кода:
"GO123!@# PROGRAMMING"
Смотрите также
-
функцию
strings.ToUpper,
которая преобразует строку в верхний регистр -
функцию
strings.ToLower,
которая преобразует строку в нижний регистр -
функцию
unicode.ToTitle,
которая преобразует отдельный руну в заглавную букву -
функцию
strings.EqualFold,
которая сравнивает строки без учета регистра