用途
在类似淘宝客服这种场景,经常会用到需要使用固定格式的语句,但是中间又有一些需要按需求更改的场景,通常做法是把例句复制过去,然后再把需要变更的内容修改,次数一多,就会很烦躁,不如用脚本来实现一键替换。
逻辑
在方便的CV大法章节中,我们已经可以将内容复制到粘贴板中,那么需要的就是将粘贴板的内容按需求更改
- 在字符串中找到需要更改的位置
- 按要求更改字符串
- 返回更改后的字符串
代码
/**
* 替换字符串中的指定字符串
* str:要替换的字符串
* strmap*:要替换的字符串map, key为查找对象, value为要替换的字符串
* 返回值:替换后的字符串
*/
ReplaceMapString(str, strmap)
{
for k, v in strmap {
str := StrReplace(str, "{" k "}", v)
}
return str
}
/**
* Example
rawstr := "I love {1}, {2} and {3}!"
strmap := Map("1", "apple", "2", "banana", "3", "cherry")
F1::MsgBox ReplaceMapString(rawstr, strmap)
*/
拓展
在上面的Example例子中,我们可以按要求匹配并替换指定字符串,格式可以自行修改,拓展一下使用场景,比如修改后自动将内容放入粘贴板或者直接粘贴,比如多种格式,设置不同的热键如F2,F3,对应不同的修改方式。
这个函数我的用途是,对于一些相对固定的代码的修改替换,搭配文件创建和写入和GUI,实现可视化配置和一键生成代码文件。比如ADC,通过GUI配置位宽,采样方式,采样间隔,对齐方式等等,一键生成ADC.c/.h,还可以配置Buffer大小,滤波算法选择。