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

时间:2015-11-05 01:47:41

标签: string tcl

所以,这看起来非常微不足道,但我无法解决它。

在文件行中运行正则表达式后,如:

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

  

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

我有一个字符串:

  

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

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

2 个答案:

答案 0 :(得分:2)

试试这个:

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

括号内捕获表达式,该表达式将匹配任何字符,但是斜杠,一次或多次。

答案 1 :(得分:0)

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

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

最好不要捕捉到你不想要的东西。

相关问题