Racket Libraries
5.1 
5.2 双 and 􏿴
5.3 􏻿
5.4 􏿰
5.5 
5.6 􏷂
5.7 􏶿
5.8 􏷁
5.9 
5.10 􏺃
5.11 Conditionals
5.12 
5.13 
5.14 未分类
On this page:
5.8.1 例程命名规则
5.8.2 􏷁、􏽀、􏽁,􏷁?、􏽀?、􏽁?,􏼟?
5.8.3 􏽁化,􏽀化
5.8.4 􏼅,􏼄
5.8.5 􏼃,􏼁,􏼂
5.8.6 􏺕,􏼭,􏷁􏾝
5.8.7 􏼘,􏼘/  以􏾝,􏼅𰅡
5.8.8 􏼩、􏼪,􏼳、􏼲
5.8.9 􏼥,􏼝,􏼛
5.8.10 􏼹?,􏼸?,􏸶?
5.8.11 􏺔,􏺓,􏺒
5.8.12 基础例程
􏷁?
􏷁
􏼅
􏽁化
􏺕
􏼭
􏼘
􏷁􏾝
􏽀化
􏼘/  以􏾝
􏼅𰅡
􏼃
􏼁
􏼳
􏼲
􏼄
􏷁=?
􏷁<?
􏷁<=?
􏷁>?
􏷁>=?
􏷁ci=?
􏷁ci<?
􏷁ci<=?
􏷁ci>?
􏷁ci>=?
􏺔
􏺓
􏺒
􏺓*
5.8.13 额外例程
􏼂
􏼪
􏼩
􏼛
􏼥
􏼝
􏼟?
􏸶?
􏼹?
􏼸?
8.15

5.8 􏷁🔗

另见名扩展库:􏷁

“􏷁”(String)就是通常所说的“字符串”数据结构,名语言用单字表示之称为“􏷁”。

5.8.1 例程命名规则🔗

Naming Rules,有:

规则

指示

含义

举例

下偏旁􏷁

指示出参

出参是􏷁结构

􏷁􏽀􏼅􏼄􏼃􏼂

右偏旁􏷁

指示出参

出参是􏷁结构

􏼪􏼲

左偏旁􏷁

指示入参

入参是􏷁结构

􏺕􏼭􏼩􏼳􏼥􏼝􏼛􏺔􏺓􏺒

5.8.2 􏷁、􏽀、􏽁,􏷁?、􏽀?、􏽁?,􏼟?🔗


􏷁为活用字
􏽁为新造字
􏽀为新造字
  • :工厂、容器、外壳;(的增笔,有扭曲盘􏶿之意思)

  • :无实意,代表"数据内容";

  • :稳定的、内容不变的(因为“山”是稳定的,见:􏽁?);

  • :易动的、内容可变的(因为“水”是易变的,见:􏽀?);

  • 上下结构的+:非空。

参见:􏻼􏻽

另见:􏷂􏶿􏻷?

􏻿􏿰一样,“􏷁”按内容是否可以被修改,也可以被分为:“易􏷁”和“固􏷁”(简写为“􏽁”和“􏽀”)。􏷁默认创建的是“􏽀”,通过英文双引号("")创建的则是“􏽁”。

Examples:
> (􏷁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。)

"鹅鹅鹅,曲项向天歌。"

> (􏷁? (􏷁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。))

#t

> (􏽀? (􏷁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。))

#t

> (􏽁? (􏽁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。))

#t

> (􏽁? "鹅鹅鹅,曲项向天歌。")

#t

> (􏷁? "鹅鹅鹅,曲项向天歌。")

#t

> (􏼟? "鹅鹅鹅")

#t

> (􏼟? "")

#f

5.8.3 􏽁化,􏽀化🔗


Examples:
> (􏽁? (􏽁化 (􏷁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。)))

#t

> (􏽀? (􏽀化 "鹅鹅鹅,曲项向天歌。"))

#t

5.8.4 􏼅,􏼄🔗


􏼅为新造字
􏼄为新造字

参见:􏼓􏼎

Examples:
> (􏼅 5 #\鹅)

"鹅鹅鹅鹅鹅"

> (􏼄 5 数化字)

"\u0000\u0001\u0002\u0003\u0004"

5.8.5 􏼃,􏼁,􏼂🔗


􏼃为新造字
􏼂为新造字
􏼁为新造字
  • :“贯穿”的意思;

  • :见:􏽁

  • +:“贯穿”的意思,且末尾数据是􏿴

参见:􏼓􏼎

Examples:
> (􏼃 "AAA" "BBB" "CCC")

"AAABBBCCC"

> (􏼁 "AAA" "BBB" "CCC")

"AAABBBCCC"

> (􏼂 "AAA" "BBB" '("CCC" "DDD"))

"AAABBBCCCDDD"

> (􏽁? (􏼃 "AAA" "BBB" "CCC"))

#f

> (􏽁? (􏼁 "AAA" "BBB" "CCC"))

#t

> (􏽁? (􏼂 "AAA" "BBB" '("CCC" "DDD")))

#f

5.8.6 􏺕,􏼭,􏷁􏾝🔗


􏺕为新造字
􏼭为新造字
  • :“测量长度”的意思,参见:

  • :“第”的意思,参见:

参见:􏾝􏻿􏾝

Examples:
> (􏺕 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。")

22

> (􏼭 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 3)

#\,

> (􏷁􏾝 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 3)

",曲项向天歌。白毛浮绿水,红掌拨清波。"

> (􏷁􏾝 "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" 3 8)

",曲项向天"

5.8.7 􏼘,􏼘/以􏾝,􏼅𰅡🔗


􏼘为新造字
𰅡为古活字
  • :“!”的意思;

另见:􏼅

参见:􏻿􏾩􏿰􏾩􏻿􏾩/以􏾝

Examples:
> ( str (􏷁 #\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。))
> (􏼘 str 1 #\白)
> str

"鹅白鹅,曲项向天歌。"

> (􏼘/以􏾝 str 0 "ABCDEFG" 2 4)
> str

"CD鹅,曲项向天歌。"

> (􏼅𰅡 str #\Z)
> str

"ZZZZZZZZZZ"

5.8.8 􏼩、􏼪,􏼳、􏼲🔗


􏼩为新造字
􏼪为新造字
􏼳为新造字
􏼲为新造字
  • 的简写(见:);

  • 上下结构的+􏿴

  • 上下结构的+:组成元素是“”的􏿴

  • 􏼩:把􏷁转化为􏿴

  • 􏼳:把􏷁转化为组成元素是字的􏿴

  • 􏼪:把􏿴转化为􏷁

  • 􏼲:把组成元素是􏿴转化为􏷁

Examples:
> (􏼪 '("鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌"))

"鹅 鹅 鹅 , 曲 项 向 天 歌"

> (􏼪 '("鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌") "")

"鹅鹅鹅,曲项向天歌"

> (􏼪 '("鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌") "-")

"鹅-鹅-鹅-,-曲-项-向-天-歌"

> (􏼩 "鹅鹅鹅,曲项向天歌")

'("鹅鹅鹅,曲项向天歌")

> (􏼩 "鹅鹅鹅,曲项向天歌" "")

'("" "鹅" "鹅" "鹅" "," "曲" "项" "向" "天" "歌" "")

> (􏼩 "鹅鹅鹅,曲项向天歌" ",")

'("鹅鹅鹅" "曲项向天歌")

> (􏼩 "鹅-鹅-鹅-曲-项-向-天-歌" "-")

'("鹅" "鹅" "鹅" "曲" "项" "向" "天" "歌")

> (􏼲 '(#\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。))

"鹅鹅鹅,曲项向天歌。"

> (􏼳 "鹅鹅鹅,曲项向天歌。")

'(#\鹅 #\鹅 #\鹅 #\, #\曲 #\项 #\向 #\天 #\歌 #\。)

5.8.9 􏼥,􏼝,􏼛🔗


􏼥为新造字
􏼝为新造字
􏼛为新造字
  • :本意是“兵器”,引申为“修改、替换”之意;

  • :本意是“匕首”,引申为“修剪、删除”之意;

  • 的简写;

  • 上下结构的+:修剪起始处和结尾处;

  • 上下结构的+:将相连的多个空格单一化成一个。

Examples:
> (􏼥 "鹅鹅鹅,曲项向天歌。" "鹅鹅鹅" "小黄鸭")

"小黄鸭,曲项向天歌。"

> (􏼥 "鹅鹅鹅,曲项向天歌。" "鹅" "")

",曲项向天歌。"

> (􏼥 "\n\r鹅鹅鹅,\n\r曲项向天歌。\n\r\n\r" "\n\r" "")

"鹅鹅鹅,曲项向天歌。"

> (􏼝 "\n\r鹅鹅鹅,\n\r曲项向天歌。\n\r\n\r")

"鹅鹅鹅,\n\r曲项向天歌。"

> (􏼝 "鹅鹅鹅,曲项向天歌。" "鹅鹅鹅")

",曲项向天歌。"

> (􏼛 "鹅         \n \n 曲项向天歌 \n\r")

"鹅 鹅 鹅 曲项向天歌"

5.8.10 􏼹?,􏼸?,􏸶?🔗


􏼹为新造字
􏼸为新造字
  • :本意是“树根”,在此引申为“起始、开头”之意;

  • :本意是“树梢”,在此引申为“结尾、末尾”之意;

  • :本意是“枝干”,在此引申为“中间、包含”之意;

Examples:
> (􏼹? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "鹅鹅鹅")

#t

> (􏼸? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "拨清波。")

#t

> (􏸶? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "鹅鹅鹅")

#t

> (􏸶? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "拨清波。")

#t

> (􏸶? "鹅鹅鹅,曲项向天歌。白毛浮绿水,红掌拨清波。" "白毛")

#t

5.8.11 􏺔,􏺓,􏺒🔗


􏺔为新造字
􏺓为新造字
􏺒为新造字
  • 的简写;

Examples:
> (􏺔 "string upper case")

"STRING UPPER CASE"

> (􏺓 "string lower case")

"string lower case"

> (􏺒 "string title case")

"String Title Case"

5.8.12 基础例程🔗

word

􏷁? : 􏷁 + ? = string?

word

􏷁 :  = string

word

􏼅 : elem + 构造内容是若干个相同元素的 + needtofix = make-string

word

􏽁化 : elem + + needtofix + 转变为 + needtofix

 = string->immutable-string

word

􏺕 :  = string-length

word

􏼭 :  = string-ref

word

􏼘 : elem + 直接修改原始数据第N处字(从0算起)为某字 = string-set!

word

􏷁􏾝 : elem + 返回􏷁第N到M处内容组成的 + needtofix = substring

word

􏽀化 : elem + + needtofix + 转化为 + needtofix = string-copy

word

􏼘/以􏾝 : elem + 从第N处字(从0算起)开始做覆盖(以另一个􏷁的 + needtofix + 结果为内容)

 = string-copy!

word

􏼅𰅡 :  = string-fill!

word

􏼃 : elem + 把很多􏷁连成一个 + needtofix = string-append

word

􏼁 : elem + 把很多􏷁连成一个 + needtofix = string-append-immutable

word

􏼳

 : elem + 􏷁化字􏿴:把 + needtofix + 转化为 + needtofix + (由 + needtofix + 组成)
 = string->list

word

􏼲

 : elem + 字􏿴化􏷁:把 + needtofix + (由 + needtofix + 组成)转化为 + needtofix
 = list->string

word

􏼄 : elem + 构造内容是一系列序数转化成 + needtofix + 所组成的 + needtofix

 = build-string

word

􏷁=? : 􏷁 + = + ? = string=?

word

􏷁<? : 􏷁 + < + ? = string<?

word

􏷁<=? : 􏷁 + < + = + ? = string<=?

word

􏷁>? : 􏷁 + > + ? = string>?

word

􏷁>=? : 􏷁 + > + = + ? = string>=?

word

􏷁ci=? : 􏷁 + c + i + = + ? = string-ci=?

word

􏷁ci<? : 􏷁 + c + i + < + ? = string-ci<?

word

􏷁ci<=? : 􏷁 + c + i + < + = + ? = string-ci<=?

word

􏷁ci>? : 􏷁 + c + i + > + ? = string-ci>?

word

􏷁ci>=? : 􏷁 + c + i + > + = + ? = string-ci>=?

word

􏺔 : elem + 将􏷁大写化 = string-upcase

word

􏺓 : elem + 将􏷁小写化 = string-downcase

word

􏺒 : elem + 将􏷁中单词首字母大写化其余小写化 = string-titlecase

word

􏺓* : elem + 将􏷁中单词做CaseFolding处理 = string-foldcase

5.8.13 额外例程🔗

 (require ming/racket/string) package: ming

word

􏼂 : elem + + needtofix + ,不过最后一个􏷁是 + needtofix

 = string-append*

word

􏼪 :  = string-join

word

􏼩 :  = string-split

word

􏼛 :  = string-normalize-spaces

word

􏼥 :  = string-replace

word

􏼝 : elem + 修剪􏷁 = string-trim

word

􏼟? : elem + 非空􏷁? = non-empty-string?

word

􏸶? : elem + 某􏷁是否是某􏷁中间的一部分 = string-contains?

word

􏼹? : elem + 某􏷁是否是某􏷁起头的一部分 = string-prefix?

word

􏼸? : elem + 某􏷁是否是某􏷁末尾的一部分 = string-suffix?