2015-11-05 113 views
0

因此,這看起來非常微不足道,但我無法解決它。刪除Tcl中的字符串中的某個字符後的所有內容

後像一個文件中的行正則表達式運行:

(在這個例子中,我會尋找/名稱:這可能是也爲Arch.Type等)

/名稱:插件/版本:1.0 /拱門:WINDOWS 64的Windows 32的Linux的Mac /摘要:asdasdas /型號:sdfsdf

我有喜歡的字符串:

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

我需要從這個字符串,它的後的第一個 「/」(因此只留下刪除一切「插件」)

回答

0

可以從第一/在開始使用此字符串中刪除的所有內容:

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

最好是無法捕捉你不擺在首位想雖然的東西。

2

試試這個:

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

括號捕捉表達式,將匹配任何字符,但削減,一次或多次。

+1

+1 - 首先不捕獲你不想要的東西是一個巨大的想法,並且實現起來微不足道。 –

相關問題