删除Tcl中字符串中某个字符后的所有内容



所以,这看起来很琐碎,但我无法解决它。

regex在文件行中运行后,如:

(在这个例子中,我将寻找/Name:它也可以用于Arch.Type等。)

/名称:插件/版本:1.0/架构:Windows 64 Windows 32 Linux Mac/摘要:asdasdas/类型:sdfsdf

我有一个字符串像:

插件/版本:1.0/架构:Windows 64 Windows 32 Linux Mac/摘要:asdasdas/类型:sdfsdf

我需要从这个字符串中删除第一个"/"之后的所有内容(因此只留下"插件")

试试这个:

regexp {/Name: ([^/]+)} {/Name: Plugin /Version: 1.0 /Arch: Windows 64 Windows 32 Linux Mac /Summary: asdasdas /Type: sdfsdf} all match
puts $match

带圆括号的捕获表达式,将匹配除斜杠之外的任何字符一次或多次。

您可以使用以下命令删除字符串中第一个/的所有内容:

set myVar [regsub {/.*} $myVar ""]
# Old school Tcl 8.4 and before version (upgrade, man!)
regsub {/.*} $myVar "" myVar

不过,最好不要捕捉那些你一开始就不想要的东西。

最新更新