Racket Libraries
5.1 双 and 􏿴
5.2 􏻿
5.3 􏿰
5.4 
5.5 勺
5.6 
5.7 
5.8 
5.9 􏺃
5.10 Conditionals
5.11 
5.12 
5.13 未分类
On this page:
5.7.1 例程命名规则
5.7.2 句、􏽀、􏽁,句?、􏽀?、􏽁?,􏼟?
5.7.3 􏽁化,􏽀化
5.7.4 􏼅,􏼄
5.7.5 􏼃,􏼁,􏼂
5.7.6 􏺕,􏼭,句􏾝
5.7.7 􏼘,􏼘/  以􏾝,􏼅𰅡
5.7.8 􏼩、􏼪,􏼳、􏼲
5.7.9 􏼥,􏼝,􏼛
5.7.10 􏼹?,􏼸?,􏸶?
5.7.11 􏺔,􏺓,􏺒
5.7.12 基础例程
句?
􏼅
􏽁化
􏺕
􏼭
􏼘
句􏾝
􏽀化
􏼘/  以􏾝
􏼅𰅡
􏼃
􏼁
􏼳
􏼲
􏼄
句=?
句<?
句<=?
句>?
句>=?
句ci=?
句ci<?
句ci<=?
句ci>?
句ci>=?
􏺔
􏺓
􏺒
􏺓*
5.7.13 额外例程
􏼂
􏼪
􏼩
􏼛
􏼥
􏼝
􏼟?
􏸶?
􏼹?
􏼸?
8.13

5.7 🔗

另见名扩展库:

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

5.7.1 例程命名规则🔗

Naming Rules,有:

规则

指示

含义

举例

下偏旁

指示出参

出参是句结构

􏽀􏼅􏼄􏼃􏼂

右偏旁

指示出参

出参是句结构

􏼪􏼲

左偏旁

指示入参

入参是句结构

􏺕􏼭􏼩􏼳􏼥􏼝􏼛􏺔􏺓􏺒

5.7.2 句、􏽀、􏽁,句?、􏽀?、􏽁?,􏼟?🔗


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

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

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

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

  • 上下结构的+:非空。

参见:􏻼􏻽

另见:勺􏻷?

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

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

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

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

#t

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

#t

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

#t

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

#t

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

#t

> (􏼟? "鹅鹅鹅")

#t

> (􏼟? "")

#f

5.7.3 􏽁化,􏽀化🔗


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

#t

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

#t

5.7.4 􏼅,􏼄🔗


􏼅为新造字
􏼄为新造字

参见:􏼓􏼎

Examples:
> (􏼅 5 #\鹅)

"鹅鹅鹅鹅鹅"

> (􏼄 5 数化字)

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

5.7.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.7.6 􏺕,􏼭,句􏾝🔗


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

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

参见:􏾝􏻿􏾝

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

22

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

#\,

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

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

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

",曲项向天"

5.7.7 􏼘,􏼘/以􏾝,􏼅𰅡🔗


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

另见:􏼅

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

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

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

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

"CD鹅,曲项向天歌。"

> (􏼅𰅡 str #\Z)
> str

"ZZZZZZZZZZ"

5.7.8 􏼩、􏼪,􏼳、􏼲🔗


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

  • 上下结构的+􏿴

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

  • 􏼩:把转化为􏿴

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

  • 􏼪:把􏿴转化为

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

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

"鹅 鹅 鹅 , 曲 项 向 天 歌"

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

"鹅鹅鹅,曲项向天歌"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

5.7.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.7.10 􏼹?,􏼸?,􏸶?🔗


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

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

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

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

#t

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

#t

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

#t

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

#t

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

#t

5.7.11 􏺔,􏺓,􏺒🔗


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

Examples:
> (􏺔 "string upper case")

"STRING UPPER CASE"

> (􏺓 "string lower case")

"string lower case"

> (􏺒 "string title case")

"String Title Case"

5.7.12 基础例程🔗

composition

句? :  + ? = string?

composition

 :  = string

composition

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

composition

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

 = string->immutable-string

composition

􏺕 :  = string-length

composition

􏼭 :  = string-ref

composition

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

composition

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

composition

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

composition

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

 = string-copy!

composition

􏼅𰅡 :  = string-fill!

composition

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

composition

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

composition

􏼳

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

composition

􏼲

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

composition

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

 = build-string

composition

句=? :  + = + ? = string=?

composition

句<? :  + < + ? = string<?

composition

句<=? :  + < + = + ? = string<=?

composition

句>? :  + > + ? = string>?

composition

句>=? :  + > + = + ? = string>=?

composition

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

composition

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

composition

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

composition

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

composition

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

composition

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

composition

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

composition

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

composition

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

5.7.13 额外例程🔗

 (require ming/racket/string) package: ming

composition

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

 = string-append*

composition

􏼪 :  = string-join

composition

􏼩 :  = string-split

composition

􏼛 :  = string-normalize-spaces

composition

􏼥 :  = string-replace

composition

􏼝 : elem + 修剪句 = string-trim

composition

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

composition

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

composition

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

composition

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