我正在使用从gimp.org下载的Gimp 2.6.6版本,用于MAC OS X(在X11下运行)。
我试图使用Script-Fu自动化一个繁琐的手动过程。我需要解析图像文件名,并使用原始文件名上的后缀将各个图层保存为新文件。
我的最初尝试是这样的,但失败了,因为(string-search ...)
在2.6版本下似乎不可用(是脚本引擎的更改?)。
(set! basefilename (substring filename 0 (string-search "." filename)))
接着我尝试使用这份信息来使用正则表达式解析基础文件名,但是(re-match-nth ...)
也无法被识别。
(if (re-match "^(.*)[.]([^.]+)$" filename buffer)
(set! basefilename (re-match-nth orig-name buffer 1))
)
当从向量中获取值时没有出现错误,但是将结果值传递到 (string-append ...)
函数时,该值并不被视为字符串。
(if (re-match "^(.*)[.]([^.]+)$" filename buffer)
(set! basefilename (vector-ref buffer 1))
)
所以我想问的是,我该如何解析出基本文件名?