用 GLib 替换文本
Replace text with GLib
我有一个包含大量 \n
的字符串,我想将它们中的每一个都变成 [=11=]1\n[=11=]1CW1
。使用 glib 最简单的方法是什么?没有正则表达式,只是简单的替换。
这可以通过 g_strsplit
和 g_strjoinv
轻松完成:
char **split = g_strsplit(text, "\n", -1);
g_free(text);
text = g_strjoinv("[=10=]1\n[=10=]1CW1 ", split);
g_strfreev(split);
虽然这是脚本语言中非常常见的构造,但在 C/with glib 中这样做有点奇怪,但我想这是 right/only 方式。
g_string_replace 从 2.68 版本开始实施:
https://developer.gnome.org/glib/stable/glib-Strings.html#g-string-replace
我有一个包含大量 \n
的字符串,我想将它们中的每一个都变成 [=11=]1\n[=11=]1CW1
。使用 glib 最简单的方法是什么?没有正则表达式,只是简单的替换。
这可以通过 g_strsplit
和 g_strjoinv
轻松完成:
char **split = g_strsplit(text, "\n", -1);
g_free(text);
text = g_strjoinv("[=10=]1\n[=10=]1CW1 ", split);
g_strfreev(split);
虽然这是脚本语言中非常常见的构造,但在 C/with glib 中这样做有点奇怪,但我想这是 right/only 方式。
g_string_replace 从 2.68 版本开始实施:
https://developer.gnome.org/glib/stable/glib-Strings.html#g-string-replace