这一次看的几个功能其实是emacs内置的功能,虽然涉及到lisp,但是主要还是围绕emacs来的,暂且把这部分的小结放到编辑器的学习归档当中。
这一次主要是看几个字符串的处理函数。
string-blank-p
string-empty-p
string-join
string-reverse
string-trim-left
string-trim-right
string-trim
string-remove-prefix
string-remove-suffix
函数的功能其实根据名称基本就能看懂的,最后两个可能是需要查一下具体的文档。接下来,针对每一个功能都做一个简单的测试。在调用这些函数之前,需要引用subr-x这个模块。这在我之前使用spacemacs的时候是遇到过,有一个问题的解决根据网络经验就是需要引入这一个模块。
通过测试,总结几个函数的功能。
string-blank-p 如果字符串是空的或者全都是空白,那么返回0,否则返回nil。
string-empty-p 如果字符串是空,返回t,否则返回nil。

这是string-join的处理效果,把一个字符串列表的元素通过分隔符拼接起来。这个函数的内置的文档说明写的太简单了,让我在测试的时候遇到了一点疑惑。说明如下:

接下来看一下string-reverse。


从描述看,这个后面基本被废弃了。

测试了一下替代的功能,工作效果一样。
string-trim-left、string-trim-right


另一个函数应该就是用来清空右边空白的,类似的效果,这里不再做演示。

这个算是我熟悉的一个类似的处理方式了,但是我所熟悉的并不是emacs lisp的处理。其实,这个功能类似perl中的chomp和python中strip。
String-remove-prefix


这里误加了一个回车,但是也看到了这个效果。

这个功能是一个严格的字符串匹配,还有一个后缀的移除,应该与之类似,我觉得对于移除扩展名什么的那将会是一个很好用的功能。
我估计这一组函数用的人不多,理由如下:

首先,没有良好的文档,本来就不是往这个方向去发展的。

其次,几个函数的实现看起来都很简短,估计很多人直接用现成的方式甚至是与之类似的代码来实现自己的需求。
















