文字列分割関数があるのでしょうか?次のようなもの:文字列分割関数
> (string-split "19 2.14 + 4.5 2 4.3/- *")
'("19" "2.14" "+" "4.5" "2" "4.3" "/" "-" "*")
私はそれを見つけられず、自分自身を作成しました。私は時々スキームを使用するので、あなたがそれを修正し、よりよい解決法を提案すれば、私は感謝するでしょう:
#lang racket
(define expression "19 2.14 + 4.5 2 4.3/- *")
(define (string-split str)
(define (char->string c)
(make-string 1 c))
(define (string-first-char str)
(string-ref str 0))
(define (string-first str)
(char->string (string-ref str 0)))
(define (string-rest str)
(substring str 1 (string-length str)))
(define (string-split-helper str chunk lst)
(cond
[(string=? str "") (reverse (cons chunk lst))]
[else
(cond
[(char=? (string-first-char str) #\space) (string-split-helper (string-rest str) "" (cons chunk lst))]
[else
(string-split-helper (string-rest str) (string-append chunk (string-first str)) lst)]
)
]
)
)
(string-split-helper str "" empty)
)
(string-split expression)
の一部です。これはCではありません:) – erjiang
いいえ、何でも好きなことをする必要があります。 – rightfold