【Godot】文字列操作の便利関数まとめ

今回は文字列 (String) に関する便利そうな関数をまとめてみました。

Stringの関数

基本情報

length(): 文字列の長さを求める

print("abc".length()) # 3文字		

empty(): 空文字かどうか

if("".empty()):
	print("空文字チェック")

count(): 指定の文字の出現回数を数える

print("akasatana".count("a")) # -> 5

検索

begins_with(): 文字の始まりが指定の文字かどうか

if "abc".begins_with("ab"):
	print("abで始まる文字")

find(): 指定の文字の位置を返す

var idx1 = "abcde".find("d") # "d" は3番目にある
var idx2 = "abcde".find("z") # 見つからないときは -1

文字を取り出す

ファイルパスから文字を取り出す

var path = "C:/Users/hoge/Desktop/test.txt"

print(path.get_base_dir()) # フォルダ "C:/Users/hoge/Desktop"
print(path.get_file()) # ファイル名 "test.txt
print(path.get_extension()) # 拡張子 "txt"

get_slice(): 区切り文字で区切った指定の番号を取り出す

print("a,b,c,d".get_slice(",", 2)) # "c" を取り出す

有効な文字列かどうかのチェック

  • is_valid_integer(): int に変換可能な文字列かどうか
  • is_valid_float(): float に変換可能な文字列かどうか
  • is_valid_hex_number(): 16進数として有効な文字列かどうか
  • is_valid_filename(): ファイル名として有効な文字列かどうか

別の型への変換

to_int(): intに変換する

print("15".to_int() * 3) # -> 45

to_float(): floatに変換する

print("12.34".to_float() * 2) # -> 24.68

hex_to_int(): 16進数の文字列表現をintに変換する

print("0xff".hex_to_int()) # -> 255

大文字・小文字変換

to_upper(): 大文字に変換する

print("abc".to_upper()) # -> ABC

to_lower(): 小文字に変換する

print("XYZ".to_lower()) # -> xyz

置き換え

replace(): 指定の文字を別の文字に置き換える

print("2,3,5,7".replace(",", "|")) # "," を "|" に置き換え

strip_edges(): 文字の前後の空白文字を削除する

print("  acb  ".strip_edges()) # -> "abc"

pad_decimals(): 小数部のゼロ埋め

print("1.23".pad_decimals(4)) # 小数部を "4桁" ゼロ埋め -> 1.2300

pad_zeros(): 整数部のゼロ埋め

print("1200".pad_zeros(8)) # "8桁" ゼロ埋め -> 00001200

md5_text(): MD5ハッシュに変換する

print("hoge".md5_text()) # -> ea703e7aa1efda0064eaa507d9e8ab7e

http_escape(): URLエンコードする

# Googleで「ほげ」を検索する
# -> https://www.google.com/search?q=%E3%81%BB%E3%81%92
print("https://google.com/search?q=ほげ".http_escape())

分割

split(): 文字列を分割する

var some_string = "One,Two,Three,Four"
var some_array = some_string.split(",")
print(some_array.size()) # 4つに分割されるので "4"
print(some_array[0]) # Prints "One"
print(some_array[1]) # Prints "Two"
print(some_array[2]) # Prints "Three"
print(some_array[3]) # Prints "Four"

参考