<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    莊周夢蝶

    生活、程序、未來
       :: 首頁 ::  ::  :: 聚合  :: 管理

    Scheme的字符串操作

    Posted on 2009-10-12 17:59 dennis 閱讀(1913) 評論(0)  編輯  收藏 所屬分類: 動態語言
        字符串操作是任何一門編程語言中最常用的操作之一,scheme也提供了一系列procudure來操作字符串。

    1、字符串的比較,有6個,分別是string=?  string>? string<? string>=? string<=?

    這與其他語言中對string的比較并無不同,比較字符和長度。

    例子:
    (string=? "mom" "mom") <graphic> #t
    (string<? "mom" "mommy") <graphic> #t
    (string>? "Dad" "Dad") <graphic> #f
    (string=? "Mom and Dad" "mom and dad") <graphic> #f
    (string<? "a" "b" "c") <graphic> #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) <graphic> #\h
    (string-ref "hi there" 5) <graphic> #\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) <graphic> "h"
    (substring "hi there" 3 6) <graphic> "the"
    (substring "hi there" 5 5) <graphic> ""

    10、填充字符串
    (let ((str (string-copy "sleepy")))
      (string-fill! str #\Z)
      str) <graphic> "ZZZZZZ"

    11、與list的相互轉換

    (string->list "") <graphic> ()
    (string->list "abc") <graphic> (#\a #\b #\c)

    (list->string '()) <graphic> ""
    (list->string '(#\a #\b #\c)) <graphic> "abc"
    (list->string
      (map char-upcase
           (string->list "abc"))) <graphic> "ABC"

    主站蜘蛛池模板: 亚洲Av高清一区二区三区| 一级毛片免费观看不卡的| 亚洲精品在线电影| 国产成人精品曰本亚洲79ren| 亚洲免费观看在线视频| 久久国产精品免费一区| 亚洲AV成人无码网站| 91亚洲性爱在线视频| 国产亚洲精品美女久久久| 亚洲 自拍 另类小说综合图区| 国产免费av片在线看| 无码少妇精品一区二区免费动态 | 亚洲日韩看片无码电影| 久久99亚洲网美利坚合众国| 亚洲午夜久久久久久噜噜噜| 国产免费黄色大片| 在线成人a毛片免费播放| 999国内精品永久免费视频| 午夜精品免费在线观看| AAAAA级少妇高潮大片免费看| 美女黄频免费网站| 亚洲av无一区二区三区| 亚洲精品456人成在线| 亚洲精品成人久久| 1区1区3区4区产品亚洲| 亚洲第一福利视频| 亚洲AV永久精品爱情岛论坛| 亚洲日韩精品射精日| 国产亚洲精aa成人网站| 亚洲免费视频一区二区三区| 免费又黄又爽又猛的毛片| 免费一级特黄特色大片在线| 国产资源免费观看| 四只虎免费永久观看| 国产免费人成视频在线观看 | 亚洲人成人网毛片在线播放| 亚洲av成人一区二区三区| 亚洲一区二区三区四区视频| 亚洲xxxxxx| 亚洲国产区男人本色在线观看| 亚洲国产成人久久三区|