字符串 #
一、字符串基础 #
1.1 创建字符串 #
mojo
def main():
let single_quote = 'Hello'
let double_quote = "World"
let multi_line = """
This is a
multi-line string
"""
print(single_quote)
print(double_quote)
print(multi_line)
main()
1.2 字符串类型 #
mojo
def main():
let str1: String = "Hello"
let str2 = String("World")
print(str1)
print(str2)
main()
1.3 空字符串 #
mojo
def main():
let empty1 = ""
let empty2 = String()
print(len(empty1))
print(len(empty2))
main()
二、字符串操作 #
2.1 字符串拼接 #
mojo
def main():
let first = "Hello"
let second = "World"
let combined = first + " " + second
print(combined)
main()
2.2 字符串重复 #
mojo
def main():
let str = "Ha"
let repeated = str * 3
print(repeated)
main()
2.3 字符串长度 #
mojo
def main():
let text = "Hello, Mojo!"
let length = len(text)
print(length)
main()
2.4 字符串索引 #
mojo
def main():
let text = "Hello"
print(text[0])
print(text[1])
print(text[-1])
print(text[-2])
main()
2.5 字符串切片 #
mojo
def main():
let text = "Hello, World!"
print(text[0:5])
print(text[7:])
print(text[:5])
print(text[::2])
print(text[::-1])
main()
三、字符串方法 #
3.1 大小写转换 #
mojo
def main():
let text = "Hello World"
print(text.upper())
print(text.lower())
print(text.title())
print(text.capitalize())
main()
3.2 去除空白 #
mojo
def main():
let text = " Hello World "
print(text.strip())
print(text.lstrip())
print(text.rstrip())
main()
3.3 查找与替换 #
mojo
def main():
let text = "Hello, World!"
print(text.find("World"))
print(text.replace("World", "Mojo"))
print(text.count("l"))
main()
3.4 分割与连接 #
mojo
def main():
let text = "apple,banana,orange"
let parts = text.split(",")
for part in parts:
print(part)
let joined = "-".join(parts)
print(joined)
main()
3.5 判断方法 #
mojo
def main():
let text = "Hello123"
print(text.startswith("Hello"))
print(text.endswith("123"))
print(text.isalpha())
print(text.isdigit())
print(text.isalnum())
main()
四、字符串格式化 #
4.1 f-string格式化 #
mojo
def main():
let name = "Mojo"
let version = 0.8
print(f"Language: {name}")
print(f"Version: {version}")
print(f"{name} v{version}")
main()
4.2 格式化表达式 #
mojo
def main():
let a = 10
let b = 20
print(f"Sum: {a + b}")
print(f"Product: {a * b}")
main()
4.3 格式化规范 #
mojo
def main():
let pi = 3.14159265
let num = 42
print(f"Pi: {pi:.2f}")
print(f"Number: {num:05d}")
print(f"Hex: {num:#x}")
print(f"Binary: {num:#b}")
main()
4.4 format方法 #
mojo
def main():
let template = "Hello, {}!"
print(template.format("Mojo"))
let template2 = "{0} + {1} = {2}"
print(template2.format(1, 2, 3))
let template3 = "{name} is {age} years old"
print(template3.format(name="Alice", age=30))
main()
五、转义字符 #
5.1 常用转义字符 #
mojo
def main():
print("Newline:\nSecond line")
print("Tab:\tIndented")
print("Backslash: \\")
print("Quote: \"Hello\"")
print("Single quote: \'Hi\''")
main()
5.2 原始字符串 #
mojo
def main():
let raw = r"Path: C:\Users\name\file.txt"
print(raw)
main()
六、字符串编码 #
6.1 字节转换 #
mojo
def main():
let text = "Hello"
let bytes = text.encode()
print(bytes)
print(len(bytes))
main()
6.2 解码字节 #
mojo
def main():
let bytes_data = b"Hello"
let text = bytes_data.decode()
print(text)
main()
七、字符串比较 #
7.1 相等比较 #
mojo
def main():
let str1 = "Hello"
let str2 = "Hello"
let str3 = "World"
print(str1 == str2)
print(str1 == str3)
main()
7.2 字典序比较 #
mojo
def main():
let str1 = "apple"
let str2 = "banana"
print(str1 < str2)
print(str1 > str2)
main()
八、字符串与数字转换 #
8.1 字符串转数字 #
mojo
def main():
let int_str = "42"
let float_str = "3.14"
let int_val = Int(int_str)
let float_val = Float64(float_str)
print(int_val)
print(float_val)
main()
8.2 数字转字符串 #
mojo
def main():
let num = 42
let pi = 3.14159
let str1 = String(num)
let str2 = String(pi)
print(str1)
print(str2)
main()
九、字符串性能 #
9.1 字符串构建 #
mojo
def main():
var parts: List[String] = []
for i in range(1000):
parts.append(String(i))
let result = ",".join(parts)
print(len(result))
main()
9.2 避免频繁拼接 #
mojo
def main():
var result = ""
for i in range(1000):
result += String(i) + ","
main()
十、总结 #
本章学习了:
- 字符串创建与基本操作
- 字符串索引与切片
- 字符串方法
- 格式化输出
- 转义字符
- 编码转换
- 性能优化
下一章,我们将学习集合类型。
最后更新:2026-03-27