Ich versuche, eine einfache String-Manipulation zu machen: den Namen einer Datei ohne die Erweiterung zu erhalten. Nur, string.find()
scheint ein Problem mit Punkten zu haben:
Und nur mit Punkten:
%Vor%Ist das ein Fehler, oder mache ich etwas falsch?
string.find()
findet standardmäßig keine Strings in Strings, es findet Patterns in Strings. Weitere Informationen finden Sie unter dem Link, aber hier ist der relevante Teil;
Das '.' stellt ein Platzhalterzeichen dar, das ein beliebiges Zeichen darstellen kann.
Um die Zeichenfolge .
tatsächlich zu finden, muss der Punkt mit einem Prozentzeichen, %.
EDIT: Alternativ können Sie einige zusätzliche Argumente übergeben, find(pattern, init, plain)
, mit denen Sie true
als letztes Argument übergeben und nach einfachen Strings suchen können. Das würde deine Aussage machen;
Mache entweder string.find(s, '%.')
oder string.find(s, '.', 1, true)
Tags und Links string lua lua-patterns