方法

GLibRegexsplit_full

自:2.14

声明 [src]

gchar**
g_regex_split_full (
  const GRegex* regex,
  const gchar* string,
  gssize string_len,
  gint start_position,
  GRegexMatchFlags match_options,
  gint max_tokens,
  GError** error
)

描述 [src]

在模式上断开字符串,并返回标记数组。如果模式包含分组圆括号,则还将返回每个子字符串的文本。如果模式在字符串中无处匹配,则将整个字符串作为第一个标记返回。

作为一个特例,分割空字符串“”的结果是空向量,而不是包含单个字符串的向量。这种特殊情况的原因是能够表示空向量通常比一致处理空元素更有用。如果您确实需要表示空元素,您需要在调用此函数之前检查空字符串。

可以匹配空字符串的模式将字符串在匹配到空字符串的位置分割成单独的字符。例如,使用分隔符“\s*”分割“ab c”,您将得到“a”、“b”和“c”。

start_position设置与仅传递缩短的字符串并设置G_REGEX_MATCH_NOTBOL的设置不同,这种情况是模式以任何类型的向后断言开始,如“\b”。

自:2.14

参数

string

类型: 一个gchar数组

用于与模式分割的字符串。

数组的长度由string_len参数指定。
数据归方法调用者所有。
每个元素都是空终止的UTF-8字符串。
string_len

类型: gssize

string的长度,字节为单位,如果string是空终止的,则为-1。

start_position

类型: gint

字符串匹配的起始索引,字节为单位。

match_options

类型: GRegexMatchFlags

匹配时间选项标志。

max_tokens

类型: gint

将字符串分割成标记的最大数量。如果这小于1,则完全分割字符串。

error

类型: GError **

可恢复错误的返回位置。

参数可以是 NULL
如果返回位置不是 NULL,那么您必须将其初始化为 NULLGError*
如果没有错误,方法将使参数保持初始化为 NULL
发生错误时,参数将被设置为新的 GError 分配;调用者将获得数据的所有权,并负责释放它。

返回值

类型:utf8 字符串数组

一个以 NULL 结尾的 gchar** 数组。使用 g_strfreev()` 释放它。

该数组以 NULL 结尾。
方法是调用者获得返回数据的所有权,并负责释放它。
每个元素都是空终止的UTF-8字符串。