Menu
CoddyTech

文字列メソッド

CoddyのGDScriptジャーニー「ロジックとフロー」セクションの一部。レッスン 1/78。

文字列メソッドとして、すでに length()、to_upper()、to_lower() の3つを知っています。文字列には、ほかにも多くのメソッドがあります。どのメソッドも呼び出し元の文字列を変更しません。それぞれ新しい文字列を返すので、結果を出力するか、保存してください。

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を省略するとスペースが使われます)。

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に格納されています。

次の4行を出力します。

  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()
	# 4行を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン

自分で練習してみよう: GDScriptオンラインコンパイラ