gpt4 book ai didi

scheme - 字符串拆分功能

转载 作者:行者123 更新时间:2023-12-04 02:48:46 26 4
gpt4 key购买 nike

我只是想知道是否有字符串拆分功能?就像是:

> (string-split "19 2.14 + 4.5 2 4.3 / - *")
'("19" "2.14" "+" "4.5" "2" "4.3" "/" "-" "*")

我还没有找到它并创建了我自己的。我不时使用 Scheme,所以如果您修复它并提出更好的解决方案,我将不胜感激:
#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)

最佳答案

天啊!这是很多工作。如果我正确理解您的问题,我会为此使用 regexp-split:

#lang Racket
(regexp-split #px"""bc thtn odnth")

=>

语言: Racket ;内存限制:256 MB。
'("bc""thtn""odnth")

关于scheme - 字符串拆分功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7691769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com