首页 > 解决方案 > 用 GLib 替换文本

问题描述

我有一个带有大量\n's 的字符串,我想将它们中的每一个都变成\001\n\001CW1 . 使用 glib 最简单的方法是什么?没有正则表达式,只是简单的替换。

标签: cglib

解决方案


这可以通过g_strsplitand轻松完成g_strjoinv

char **split = g_strsplit(text, "\n", -1);
g_free(text);
text = g_strjoinv("\001\n\001CW1 ", split);
g_strfreev(split);

虽然这是脚本语言中非常常见的结构,但在 C/glib 中这样做有点奇怪,但我想这是正确/唯一的方法。


推荐阅读