Tcl - 如何通过正则表达式在最后一个字符后添加文本?

问题描述

我需要一个提示提示或建议,然后是一些示例,说明如何在变量输出行的最后一个字符后添加 .txt 格式的扩展名。

例如:

set txt " ONLINE ENGLISH COURSE - LESSON 5 "

set result [concat "$txt" .txt]

打印:

enter image description here

注意变量词组(startmeansfin有空格 >txt)。必须保留的是startmeans 的空格。但将句尾最后一个空格替换为扩展名[.txt]的格式。

使用concat内置的Tcl方法,并没有达到预期的效果

预期的结果是这样的:

ONLINE ENGLISH COURSE - LESSON 5.txt

我知道我可以用 string map 删除空格,但我不知道如何只删除行中的最后一个

否则我不知道如何删除最后一个空格以添加文本[.txt]

如果有人可以向我指出一个或多个解决方案,请提前致谢。

解决方法

set result "[string trimright $txt].txt"

set result [regsub {\s*$} $txt ".txt"]