方法

GLib正则表达式split

since: 2.14

声明 [src]

gchar**
g_regex_split (
  const GRegex* regex,
  const gchar* string,
  GRegexMatchFlags match_options
)

描述 [src]

在模式上分割字符串,并返回一个包含标记的数组。如果模式包含捕获括号,则会返回每个子字符串的文本。如果模式在字符串中的任何位置都不匹配,则将整个字符串作为第一个标记返回。

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

一个可以匹配空字符串的模式会将字符串“string”分割成字符之间的空字符串。例如,使用“\s*”作为分隔符分割“ab c”,您将得到“a”、“b”和“c”。

Available since: 2.14

参数

string

类型: const gchar*

分割模式时要使用的字符串。

数据由方法调用者拥有。
值是一个以NUL终止的UTF-8字符串。
match_options

类型: GRegexMatchFlags

匹配时间选项标志。

返回值

类型: utf8数组的数组

一个以NULL终止的gchar **数组。使用g_strfreev()释放它。

数组是以NULL终止的。
方法的调用者拥有返回的数据,并负责释放它。
每个元素都是一个以NUL终止的UTF-8字符串。