<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无码AV男人的天堂| 日韩毛片免费一二三| 精品熟女少妇a∨免费久久| 亚洲国产精品无码专区在线观看| 成av免费大片黄在线观看| 亚洲人成色777777在线观看| 永久在线观看免费视频 | 精品久久久久久国产免费了| 亚洲精品一级无码鲁丝片 | 成人午夜18免费看| 亚洲国产精品日韩av不卡在线 | 一个人免费观看视频www| 国产乱辈通伦影片在线播放亚洲| 美女羞羞免费视频网站| 亚洲精品无码少妇30P| 噜噜嘿在线视频免费观看| 猫咪免费观看人成网站在线| 亚洲熟女一区二区三区| 亚洲免费网站在线观看| 亚洲啪AV永久无码精品放毛片| 国产jizzjizz视频全部免费| 三上悠亚在线观看免费| 亚洲精品456在线播放| 在线观看免费a∨网站| 一级成人a做片免费| 亚洲毛片在线观看| 免费高清在线爱做视频| 久久99精品免费一区二区| 亚洲视频在线观看不卡| 国产色爽免费视频| 久久久精品免费视频| va天堂va亚洲va影视中文字幕| 国产乱子伦精品免费无码专区| 成人免费区一区二区三区 | 最近中文字幕mv手机免费高清| 一级特级女人18毛片免费视频|