2016-12-09 8 views
2

Fragment enthält Ich habe einen Satz von Wörtern, z. {6-31G *, 6-311G *, 6-31 ++ G *, 6-311 ++ G **}. Wie Sie sehen können, ist das gemeinsame Fragment "6-31". Was ich jetzt in Tcl tun muss, ist zu überprüfen, ob String unter $variable dieses Fragment enthält. Ich weiß, dass ich es mit regulären Ausdrücken wie dies tun könnte:Überprüfen, ob die Zeichenfolge in Tcl

if {[regexp {^6-31} $variable]} { 
    puts "You provided Pople-style basis set" 
} 

aber welche andere Lösung könnte ich verwenden (nur aus Neugier)?

Antwort

6

Nur um zu überprüfen, ob eine Zeichenfolge eine bestimmte Teilzeichenfolge enthält, I string first

set substring "6-31" 
if {[string first $substring $variable] != -1} { 
    puts "\"$substring\" found in \"$variable\"" 
} 

Sie auch mit string match oder switch

switch -glob -- $variable { 
    *$substring* {puts "found"} 
    default  {puts "not found"} 
} 
glob-Matching können verwenden verwenden würde
Verwandte Themen