「Mac玩转仓颉内测版27」基础篇7 - 字符串类型详解
本篇将介绍 Cangjie 中的字符串类型,包括字符串的定义、字面量形式、插值表达、常用操作及应用场景,帮助开发者熟练掌握字符串的使用。
关键词
- 字符串类型定义
- 字符串字面量
- 插值字符串
- 字符串拼接
- 常用操作
一、字符串类型概述
在 Cangjie 中,字符串是一组 Unicode 字符的集合,用于表示文本数据。字符串类型用 String 表示,是 Cangjie 处理文本的主要工具。
- 字符串定义:使用 String 类型定义文本数据。
示例:
let welcomeMessage: String = "Welcome to Cangjie!"
二、字符串字面量
Cangjie 中的字符串字面量有三种形式:单行字符串字面量、多行字符串字面量和多行原始字符串字面量。
2.1 单行字符串字面量
单行字符串字面量用单引号 ' 或双引号 " 包裹,内容必须在一行内。可以包含任意字符,除了未转义的双引号 " 或孤立的 ****。
示例:
let s1: String = "Cangjie Tutorial"
let s2: String = 'Let\'s start!'
let s3: String = "\"Welcome to Cangjie\""
let s4: String = 'Path: C:\\Program Files\\Cangjie'
2.2 多行字符串字面量
多行字符串字面量用三个单引号或双引号包裹,支持跨行输入,适合长文本或段落内容。
示例:
let s1: String = """
This is a tutorial
for the Cangjie language.
Enjoy learning!
"""
2.3 多行原始字符串字面量
多行原始字符串字面量通过 # 前缀并配合引号表示,支持跨行输入且内容保持原样,转义字符不会被解析。
示例:
let rawStr: String = #"""
Path without escapes: C:\Users\NewUser
Multi-line text preserved as-is.
"""#
输出:
""
Path without escapes: C:\Users\NewUser
Multi-line text preserved as-is.
""
三、插值字符串
插值字符串使用 {}** 表达式在字符串中嵌入变量或计算结果,简化了字符串拼接操作。**{} 内可包含表达式或计算,插值的结果会直接替换在字符串中。
示例:
let appName: String = "Cangjie"
let version: Float64 = 3.0
let message: String = "${appName} version ${version + 0.5} is now available!"
println(message) // 输出: Cangjie version 3.500000 is now available!
四、字符串类型支持的操作
字符串类型支持常用的关系运算、拼接和其他字符串处理方法。
4.1 字符串比较与拼接
Cangjie 字符串可以用 == 比较相等性,用 + 进行拼接生成新字符串。
示例:
let part1: String = "Learning"
let part2: String = "Cangjie"
let fullPhrase: String = part1 + " " + part2
println("拼接后的结果: ${fullPhrase}") // 输出: 拼接后的结果: Learning Cangjie
println("是否相等: ${part1 == part2}") // 输出: 是否相等: false
4.2 常用字符串方法
Cangjie 提供了多种字符串处理方法,例如大小写转换、替换、去除空白等,便于数据清理和格式化。
方法 | 描述 | 示例 |
---|---|---|
toAsciiUpper() | 转为全大写 | "cangjie".toAsciiUpper() |
toAsciiLower() | 转为全小写 | "CANGJIE".toAsciiLower() |
trimAsciiStart().trimAsciiEnd() | 去除字符串前后空白 | " sample text ".trimAsciiStart().trimAsciiEnd() |
replace() | 替换指定字符或子字符串 | "Hello World".replace("World", "Cangjie") |
示例:
let text: String = " Hello, Cangjie! "
println("全大写: ${text.toAsciiUpper()}") // 输出: 全大写: HELLO, CANGJIE!
println("去空白: ${text.trimAsciiStart().trimAsciiEnd()}") // 输出: 去空白: Hello, Cangjie!
println("替换: ${text.replace("Cangjie", "User")}") // 输出: 替换: Hello, User!
五、字符串的应用场景
字符串在文本数据的格式化、验证、以及用户输入处理方面非常常用。
5.1 数据格式化
可以利用字符串插值生成格式化文本输出,如报告和日志信息。
示例:
let userName: String = "Bob"
let sessionTime: Int = 120
println("User ${userName} spent ${sessionTime} minutes online.")
输出:
User Bob spent 120 minutes online.
5.2 输入处理与验证
在接收用户输入时,可用字符串方法去除多余空格并验证内容是否符合要求。
示例:
let userInput: String = " Cangjie "
if (userInput.trimAsciiStart().trimAsciiEnd() == "Cangjie") {
println("输入验证成功!")
} else {
println("输入不符合要求。")
}
输出:
输入验证成功!
小结
本篇介绍了 Cangjie 中的字符串类型,涵盖字符串的字面量、插值表达、拼接及常用操作方法,帮助开发者熟练掌握字符串在文本处理中的应用。
下篇预告
下一篇将介绍 Cangjie 的 元组类型,讲解元组的定义、操作方法及在数据处理中的应用,敬请关注 「Mac玩转仓颉内测版28」基础篇8 - 元组类型详解!
上一篇: 「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解
下一篇: 「Mac玩转仓颉内测版28」基础篇8 - 元组类型详解
作者:SoraLuna 链接:https://www.nutpi.net 來源:坚果派 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
- 0回答
- 1粉丝
- 0关注
- 「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解
- 「Mac玩转仓颉内测版24」基础篇4 - 浮点类型详解
- 「Mac玩转仓颉内测版28」基础篇8 - 元组类型详解
- 「Mac玩转仓颉内测版25」基础篇5 - 布尔类型详解
- 「Mac玩转仓颉内测版22」基础篇2 - 基础数据类型简述
- 「Mac玩转仓颉内测版23」基础篇3 - 深入理解整数类型
- 「Mac玩转仓颉内测版7」入门篇7 - Cangjie控制结构(下)
- 「Mac玩转仓颉内测版21」基础篇1 - 仓颉程序的基本组成
- 「Mac玩转仓颉内测版16」PTA刷题篇7 - L1-007 念数字
- 「Mac玩转仓颉内测版9」入门篇9 - 综合案例篇
- 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建
- 「Mac玩转仓颉内测版4」入门篇4 - Cangjie变量命名规则
- 「Mac玩转仓颉内测版5」入门篇5 - Cangjie控制结构(上)
- 「Mac玩转仓颉内测版6」入门篇6 - Cangjie控制结构(中)
- 「Mac玩转仓颉内测版8」入门篇8 - Cangjie函数与方法