函数
GLibstr_tokenize_and_fold
自:2.40
声明 [src]
gchar**
g_str_tokenize_and_fold (
const gchar* string,
const gchar* translit_locale,
gchar*** ascii_alternates
)
说明 [src]
对 string
进行标记并对每个标记执行折叠。
标记是源字符串中非空字母数字字符序列,由非字母数字字符分隔。对于此类标记,“字母数字”字符匹配 g_unichar_isalnum()
或 g_unichar_ismark()
。
然后对每个标记进行(Unicode)规范化并进行大小写折叠。如果 ascii_alternates
为非 NULL
,且一些返回标记包含非 ASCII 字符,则会生成 ASCII 选项。
生成 ASCII 选项的数量以及生成方法未指定,但如果已知源字符串的语言,translit_locale
(如果已指定)可改善音译。
自 2.40 起可用
参数
string
-
类型:
const gchar*
要标记的字符串。
数据归函数调用方所有。 该值是一个以 NUL 结尾的 UTF-8 字符串。 translit_locale
-
类型:
const gchar*
string
起始时的语言代码(如“de”或“en_GB”)。参数可以为 NULL
。数据归函数调用方所有。 该值是一个以 NUL 结尾的 UTF-8 字符串。 ascii_alternates
-
类型:
gchar**
的数组ASCII 选项的返回位置。
该参数将由函数设置。 参数可以为 NULL
。数组必须以 NULL
结尾。函数调用方将拥有返回数据的权限,并负责释放它。 每个元素都是一个以 NUL 结尾的 UTF-8 字符串。