<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 閱讀(1909) 評論(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"

    主站蜘蛛池模板: 午夜免费福利小电影| 久久久久国产精品免费免费不卡| 麻豆视频免费播放| 91亚洲va在线天线va天堂va国产 | 1000部拍拍拍18勿入免费凤凰福利 | 亚洲国产专区一区| 男女交性无遮挡免费视频| 日韩精品亚洲专区在线观看| 羞羞视频在线免费观看| 久久精品国产精品亚洲艾草网美妙| 中文字幕永久免费| 亚洲国产成人一区二区精品区| 男人的天堂网免费网站| 亚洲精品456在线播放| 好先生在线观看免费播放| 理论亚洲区美一区二区三区| 亚洲一级特黄无码片| 免费在线中文日本| 91亚洲视频在线观看| 日韩高清免费观看| 免费福利在线观看| 久久亚洲精品成人| 在线看片免费不卡人成视频| 久久亚洲精品无码av| 亚洲精品午夜无码电影网| 5555在线播放免费播放| 亚洲精品自偷自拍无码| MM131亚洲国产美女久久| 99爱免费观看视频在线| 亚洲精品国产第一综合99久久| 亚洲国产精品成人久久蜜臀| 色欲色香天天天综合网站免费| 亚洲一本一道一区二区三区| 日韩一卡2卡3卡4卡新区亚洲| aⅴ在线免费观看| 四虎影视永久在线精品免费| 久久久亚洲裙底偷窥综合| 国产美女无遮挡免费网站| 国产免费无码一区二区| 亚洲日本一线产区和二线| 亚洲Av无码精品色午夜|