Ich habe eine Zeichenfolge, und ich möchte überprüfen, ob es mit einem bestimmten Zeichen beginnt (# in diesem Fall). Ich würde gerne wissen, wie das am effizientesten ist!Was ist die effizienteste Art zu prüfen, ob ein String in TCL mit einem bestimmten Zeichen beginnt?
Was ich denke, ist if {[string compare -length 1 $string "#"]}
, weil es strcmp() verwenden könnte, die wahrscheinlich eine der schnellsten Möglichkeiten, dies zu erreichen ist.
Was ich denke, könnte auch möglich sein if {[string index $string 1] == "#"}
, weil es * string == '#' tun könnte, die wahrscheinlich auch sehr schnell sein wird.
Was denkst du?
Während 'string compare -length' am Ende das Äquivalent von' strncmp() 'verwendet, muss es vorsichtiger sein, als Sie sich vielleicht vorstellen, weil Tcl Unicode-Zeichen und nicht ASCII verwendet _and_ NUL ist ein zulässiges Zeichen in einem Tcl Zeichenfolge. –