函数

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 字符串。

返回值

类型: utf8 的数组

折叠标记。

数组以 NULL 结尾。
函数调用方将拥有返回数据的权限,并负责释放它。
每个元素都是一个以 NUL 结尾的 UTF-8 字符串。