Ho una stringa e voglio verificare se inizia con un certo carattere (# in questo caso). Mi piacerebbe sapere il modo più efficiente per farlo!Qual è il modo più efficace per verificare se una stringa inizia con un certo carattere in TCL?
Quello che sto pensando è if {[string compare -length 1 $string "#"]}
, perché potrebbe utilizzare strcmp() che probabilmente sarà uno dei modi più veloci per raggiungere questo obiettivo.
Quello che penso potrebbe essere possibile è if {[string index $string 1] == "#"}
, perché potrebbe fare * string == '#' che probabilmente sarà anche molto veloce.
Cosa ne pensi?
Mentre 'string compare -length' finisce per usare l'equivalente di' strncmp() ', deve essere più accurato di quanto si possa immaginare perché Tcl usa caratteri Unicode e non ASCII _and_ NUL è un carattere legale in un Tcl stringa. –