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

问题描述:

因此,这看起来非常微不足道,但我无法解决它。删除Tcl中的字符串中的某个字符后的所有内容

后像一个文件中的行正则表达式运行:

(在这个例子中,我会寻找/名称:这可能是也为Arch.Type等)

/名称:插件/版本:1.0 /拱门:WINDOWS 64的Windows 32的Linux的Mac /摘要:asdasdas /型号:sdfsdf

我有喜欢的字符串:

插件/版本:1.0 /拱门:的Windows 64的Windows 32的Linux的Mac /摘要:asdasdas /型号:sdfsdf

我需要从这个字符串,它的后的第一个 “/”(因此只留下删除一切“插件”)

可以从第一/在开始使用此字符串中删除的所有内容:

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

最好是无法捕捉你不摆在首位想虽然的东西。

试试这个:

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

括号捕捉表达式,将匹配任何字符,但削减,一次或多次。

+1

+1 - 首先不捕获你不想要的东西是一个巨大的想法,并且实现起来微不足道。 –