字符串方法
本课属于 Coddy GDScript 学习旅程的“逻辑与流程”单元。第 1 课,共 78 课。
你已经了解了 3 个字符串方法:length()、to_upper() 和 to_lower()。字符串还有很多其他方法。它们都不会更改调用它的字符串:每个方法都会返回一个新字符串,所以要打印结果或将其存储起来。
var title := "game"
title.to_upper()
print(title)
title = title.to_upper()
print(title)game
GAMEcapitalize() 会将每个单词的首字母大写,其余字母小写。它还会将下划线转换为空格,因此可以把变量风格的名称转换为标签:
print("the legend of zelda".capitalize())
print("max_hp".capitalize())The Legend Of Zelda
Max Hpreverse()会按相反的顺序返回字符,left(n)返回前 n 个字符,right(n)返回后 n 个字符:
var hero := "Godot"
print(hero.reverse())
print(hero.left(3))
print(hero.right(2))todoG
God
ot填充方法会添加字符,直到字符串达到指定长度。pad_zeros(n) 会在以文本形式书写的数字前面补零,lpad(n, c) 会在左侧添加字符 c,而 rpad(n, c) 会在右侧添加字符 c(省略 c 时会添加空格):
print("42".pad_zeros(5))
print("7".lpad(3, "*"))
print("Ana".rpad(6, ".") + "10")00042
**7
Ana...10当字符串完全不包含任何字符时,is_empty() 会返回 true:"".is_empty() 的结果是 true。
挑战
简单程序会读取一个用小写字母书写、单词之间用下划线分隔的玩家名称,例如 shadow_fox,以及一个分数。它们都已作为字符串存储在 player_name 和 score 中。
打印四行:
- 使用
capitalize()处理后的名称 - 反转后的名称
- 名称的前 3 个字符,并转换为大写
- 在分数前补零,使其达到 6 位
输入 shadow_fox 和 420 时,输出为:
Shadow Fox
xof_wodahs
SHA
000420亲手试试
extends Node
func _ready():
var player_name := OS.read_string_from_stdin()
var score := OS.read_string_from_stdin()
# 打印这四行
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: GDScript 在线编译器