Durchstreichen Sie eine Zeichenfolge in Lisp für Alpha-Zeichen ODER Leerzeichen

7

Ich suche nach einer Schleife in LISP, um nach alphanumerischen Zeichen oder Leerzeichen zu suchen. Ein Satz wie "Kaffee ist Freund" ist etwas, das ich als Gültig überprüfen möchte. Aber wenn ich es tue (jeder # 'alpha-char-p "Kaffee ist am besten"'), scheitert es an den Leerzeichen, weil der Platz technisch nicht Alpha-Char ist. Vorschläge?

Danke!

    
Mitchell McLaughlin 17.04.2016, 19:32
quelle

3 Antworten

8

Einfach auf Alpha-char oder space testen:

%Vor%

every nimmt als ersten Parameter eine Funktion, die nicht-null zurückgeben muss auf jedes Element des zweiten Parameters der Sequenz.

    
Renzo 17.04.2016 19:40
quelle
8

Verwenden von LOOP :

%Vor%     
Rainer Joswig 17.04.2016 20:50
quelle
4

Abhängig von der Komplexität der Aufgabe können Sie auch reguläre Ausdrücke verwenden. Wenn Sie CL-PPCRE laden, können Sie schreiben:

%Vor%

Der reguläre Ausdruck, der von der Bibliothek akzeptiert wird, ist eine Perl-ähnliche Zeichenfolge oder ein Syntaxbaum. Wenn Sie beispielsweise (ppcre:parse-string "^[ a-zA-Z]*$") angeben, erhalten Sie:

%Vor%

Das obige Formular hat seine Verwendung, wenn Sie reguläre Ausdrücke kombinieren müssen, weil es viel einfacher ist, Strings zu verketten und zu entkommen.

    
coredump 17.04.2016 20:52
quelle

Tags und Links