2017-07-18 4 views
0

ich zwei Saiten habenMerge gleiche Teile von zwei Strings in tcl

str1 "Something, part of" 

und

str2 "Something" 

aus diesen Ich möchte das Teil herausgefiltert werden, die in beiden Strings identisch ist, in dieser Fall der Teilstring "Etwas"

Gibt es eine String-Funktion, die dies erreichen kann? Ich möchte wirklich vermeiden, mit foreach durch die ganze Saite zu schlängeln.

+0

Wird der gleiche Teil immer am Anfang der beiden Strings? Versuchen Sie in diesem Fall textutil :: longongCommonPrefix. –

+0

Ja, der identische Teil wird immer am Anfang stehen. – Lumpi

Antwort

0

Um einen gemeinsamen Präfix in einigen Zeichenkette zu finden, verwenden ::textutil::string::longestCommonPrefix:

% package require textutil::string 
0.7.1 
% ::textutil::string::longestCommonPrefix "Something, part of" Something 
Something 
% ::textutil::string::longestCommonPrefix "Something, part of" Somethang 
Someth 

Es gibt auch ein ::textutil::string::longestCommonPrefixList ist, die eine Liste von Strings als Argument verwendet.

Beachten Sie, dass die Verwendung des textutil Bundles wie in meinem Kommentar veraltet ist. Es tut uns leid.

Dokumentation: textutil::string (package)