Scheme的字符串操作

    xiaoxiao2024-01-12  147

    字符串操作是任何一门编程语言中最常用的操作之一,scheme也提供了一系列procudure来操作字符串。 1、字符串的比较,有6个,分别是string=?  string>? string<? string>=? string<=? 这与其他语言中对string的比较并无不同,比较字符和长度。 例子: (string=? "mom" "mom")  #t (string<? "mom" "mommy")  #t (string>? "Dad" "Dad")  #f (string=? "Mom and Dad" "mom and dad")  #f (string<? "a" "b" "c")  #t 注意这些比较操作是大小写敏感。相应的,大小写不敏感的版本:procedure: (string-ci=? string1 string2 string3 ...) procedure: (string-ci<? string1 string2 string3 ...) procedure: (string-ci>? string1 string2 string3 ...) procedure: (string-ci<=? string1 string2 string3 ...) procedure: (string-ci>=? string1 string2 string3 ...) 2、从字符构造字符串,使用string过程 (string #\a)  => "a" (string #\a #\b #\c)  => "abc" 注意,换行字符是#\newline,回车字符是#\return 3、重复N个字符构造字符串 (make-string)  => "" (make-string 4 #\a)  =>"aaaa") 4、字符串长度 string-length (string-length "") =>0 (string-length "dennis") => 6 5、取第N个字符,相当于java中的charAt: (string-ref "hi there" 0)  #\h (string-ref "hi there" 5)  #\e 6、修改字符串的第N个字符: (string-set! "hello" 0 #\H) => "Hello" 7、拷贝字符串: (let ((str "abc"))   (eq? str (string-copy str)))  => #f (let ((str "abc"))   (equal? str (string-copy str)))  => #t 8、拼接字符串,string-append (string-append) => "" (string-append "abc" "defg") => "abcdefg" 9、截取子串 (substring "hi there" 0 1)  "h" (substring "hi there" 3 6)  "the" (substring "hi there" 5 5)  "" 10、填充字符串 (let ((str (string-copy "sleepy")))   (string-fill! str #\Z)   str)  "ZZZZZZ" 11、与list的相互转换 (string->list "")  () (string->list "abc")  (#\a #\b #\c) (list->string '())  "" (list->string '(#\a #\b #\c))  "abc" (list->string   (map char-upcase        (string->list "abc")))  "ABC"

    文章转自庄周梦蝶  ,原文发布时间2009-10-12

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)