2016-04-09 12 views
1
(define len (string-length "James ApR23Trb&%25G)(=?vqa"))  

(define (divide-string str) 
      (let (x) 
      (if (char-whitespace? (string-ref str x)) 
      (substring str (+ 1 x) (- len 1)) 
      (printf "an invalid input!")) 
      )) 
(divide-string "James ApR23Trb&%25G)(=?vqa") 

Ich habe eine Zeichenfolge mit in eine Leerstelle unterteilt. Ich muss zwei Teilstring behandeln. Einer ist bis Leerstelle und der andere ist leer Platz. Aber ich konnte nicht mit leeren Index mit x umgehen.Schema string-ref und char-whitespace? mit

Any help will be appraciated. Thank you even now. 

Antwort

1

Versuchen regexp-split:

> (regexp-split #rx"\\s" "James ApR23Trb&%25G)(=?vqa") 
'("Jame" " ApR23Trb&%25G)(=?vqa") 

Hier \\s Leerzeichen entspricht.

Hoppla. Ich habe die Frage für eine Racket-Frage verwechselt.

In einer Scheme-Implementierung: Suche nach split in der Dokumentation und sehen, was Ihre Implementierung der Wahl zur Verfügung hat.