c - 用 GLib 替换文本
问题描述
我有一个带有大量\n
's 的字符串,我想将它们中的每一个都变成\001\n\001CW1
. 使用 glib 最简单的方法是什么?没有正则表达式,只是简单的替换。
解决方案
这可以通过g_strsplit
and轻松完成g_strjoinv
:
char **split = g_strsplit(text, "\n", -1);
g_free(text);
text = g_strjoinv("\001\n\001CW1 ", split);
g_strfreev(split);
虽然这是脚本语言中非常常见的结构,但在 C/glib 中这样做有点奇怪,但我想这是正确/唯一的方法。
推荐阅读
- mpi - MPI 在 MPI_Type_struct 中发送和接收指针
- ada - Ada - 找不到“check_positive.adb”的库信息
- python - 将新列计算为熊猫数据框中另一个值的增量
- angular - 如何在可观察的 Firebase 变量中分配 SnapshotChanges?
- r - 有没有办法遍历一个 r-script 文件中的目录
- python - ValueError: int() 以 10 为底的无效文字:b'3\n1\n\n'
- powerapps - Power Apps - 创建唯一的集合列表
- javascript - 是否可以将字符串存储在 Json 文件中?
- scala - 如何在 Slick 中使用“ConstColumn”作为可选值
- java - 在将构建委托给 gradle 时,是否可以覆盖 IntelliJ IDEA 选择运行的 gradle 任务?