Menu
CoddyTech

字符串方法

本课属于 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
GAME

capitalize() 会将每个单词的首字母大写,其余字母小写。它还会将下划线转换为空格,因此可以把变量风格的名称转换为标签:

print("the legend of zelda".capitalize())
print("max_hp".capitalize())
The Legend Of Zelda
Max Hp

reverse()会按相反的顺序返回字符,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。

challenge icon

挑战

简单

程序会读取一个用小写字母书写、单词之间用下划线分隔的玩家名称,例如 shadow_fox,以及一个分数。它们都已作为字符串存储在 player_name 和 score 中。

打印四行:

  1. 使用 capitalize() 处理后的名称
  2. 反转后的名称
  3. 名称的前 3 个字符,并转换为大写
  4. 在分数前补零,使其达到 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()
	# 打印这四行
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: GDScript 在线编译器