Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
StringName
Un type intégré pour les chaînes uniques.
Description
Les StringNames sont des chaînes immuables conçues pour une représentation générale des noms uniques (également appelé « string interning », litt. internement de chaîne). Deux StringNames avec la même valeur sont le même objet. La comparaison est extrêmement rapide par rapport aux String habituelles.
Vous passerez généralement un String à des méthodes qui s'attendent à un StringName et il sera automatiquement converti (souvent au moment de la compilation), mais dans de rares cas vous pouvez construire un StringName en avance avec le constructeur StringName ou, en GDScript, la syntaxe littérale )&"exemple". La construction manuelle d'un StringName vous permet de contrôler lorsque la conversion depuis String se produit ou d'utiliser le littéral et d'empêcher les conversions entièrement.
Voir aussi NodePath, qui est un concept similaire spécifiquement conçu pour stocker des chemins d'arborescence de scène préparés.
Toutes les méthodes de String sont également disponibles dans cette classe. Ils convertissent le StringName en une chaîne, et ils renvoient également une chaîne. Ceci est très inefficace et ne devrait être utilisé que si la chaîne est souhaitée.
Note : En C#, une conversion explicite à System.String est nécessaire pour utiliser les méthodes énumérées sur cette page. Utilisez la méthode ToString() pour cast une StringName en une chaîne, puis utilisez les méthodes équivalentes dans System.String ou StringExtensions.
Note : Dans un contexte booléen, StringName évaluera à false si elle est vide (StringName("")). Sinon, un StringName évaluera toujours à true.
Note
Il y a des différences notables dans l'utilisation de cette API en C#. Voir Différences de l'API C# par rapport à GDScript pour plus d'informations.
Constructeurs
StringName(from: StringName) |
|
StringName(from: String) |
Méthodes
Opérateurs
operator !=(right: String) |
|
operator !=(right: StringName) |
|
operator %(right: Variant) |
|
operator +(right: String) |
|
operator +(right: StringName) |
|
operator <(right: StringName) |
|
operator <=(right: StringName) |
|
operator ==(right: String) |
|
operator ==(right: StringName) |
|
operator >(right: StringName) |
|
operator >=(right: StringName) |
Descriptions des constructeurs
StringName StringName() 🔗
Construit un StringName vide.
StringName StringName(from: StringName)
Construit une StringName en tant que copie de la StringName donnée.
StringName StringName(from: String)
Crée un nouveau StringName de la String donnée. En GDScript, StringName("exemple") est équivalent à &"exemple".
Descriptions des méthodes
bool begins_with(text: String) const 🔗
Renvoie true si la chaîne de caractères commence par le texte text donné. Voir aussi ends_with().
PackedStringArray bigrams() const 🔗
Renvoie un tableau contenant les « bigrams » (paires de lettres consécutives) de cette chaîne de caractères.
print("Lève toi !".bigrams()) # Affiche ["Lè", "èv" ,"ve", "e ", " t", "to", "oi", "i!"]
Convertit la chaîne représentant un nombre binaire en une entier int. La chaîne peut éventuellement être préfixée avec "0b", et un préfixe supplémentaire - pour les nombres négatifs.
print("101".bin_to_int()) # Affiche 5
print("0b101".bin_to_int()) # Affiche 5
print("-0b10".bin_to_int()) # Affiche -2
GD.Print("101".BinToInt()); // Affiche 5
GD.Print("0b101".BinToInt()); // Affiche 5
GD.Print("-0b10".BinToInt()); // Affiche -2
Renvoie une copie de la chaîne de caractères avec les caractères spéciaux échappés selon le standard du langage C.
Renvoie une copie de la chaîne avec les caractères d'échappement remplacés par leurs significations. Les caractères d'échappement supportés sont : \', \", \\, \a, \b, \f, \n, \r, \t, \v.
Note : Contrairement au parseur GDScript, cette méthode ne supporte pas la séquence d'échappement de caractères Unicode \uXXXX.
Change l'apparence de la chaîne de caractères : remplace les tirets bas (_) par des espaces, ajoute des espaces avant les lettres majuscules au milieu d'un mot, convertit toutes les lettres en minuscule, puis convertit la première lettre et chacune après un espace en majuscules.
"move_local_x".capitalize() # Renvoie "Move Local X"
"sceneFile_path".capitalize() # Renvoie "Scene File Path"
"2D, FPS, PNG".capitalize() # Renvoie "2d, Fps, Png"
"move_local_x".Capitalize(); // Renvoie "Move Local X"
"sceneFile_path".Capitalize(); // Renvoie "Scene File Path"
"2D, FPS, PNG".Capitalize(); // Renvoie "2d, Fps, Png"
int casecmp_to(to: String) const 🔗
Effectue une comparaison sensible à la casse avec une autre chaîne. Renvoie -1 si c’est inferieur, 1 si c’est plus grand, ou 0 si c’est égal. "Inférieur à" et "supérieur à" sont déterminés par points de code Unicode de chaque chaîne, qui correspond approximativement à l'ordre alphabétique.
Avec des longueurs de chaîne différentes, renvoie 1 si cette chaîne est plus longue que la chaîne to, ou -1 si elle est plus courte. Notez que la longueur des chaînes vides est toujours 0.
Pour obtenir un résultat booléen bool d'une comparaison de chaînes, utilisez plutôt l'opérateur =. Voir aussi nocasecmp_to(), filecasecmp_to(), et naturalcasecmp_to().
bool contains(what: String) const 🔗
Renvoie true si la chaîne contient la chaîne what. En GDScript, cela correspond à l'opérateur in.
print("Nœud".contains("No") # Affiche true
print("équipe".contains("je") # Affiche false
print("je" dans "équipe") # Affiche false
GD.Print("Nœud".contains("No")); // Affiche True
GD.Print("équipe".contains("je")); // Affiche False
Si vous devez savoir où what se trouve dans la chaîne, utilisez find(). Voir aussi containsn().
bool containsn(what: String) const 🔗
Renvoie true si la chaîne contient la chaîne what, ignorant la casse.
Si vous devez savoir où what se trouve dans la chaîne, utilisez findn(). Voir aussi contains().
int count(what: String, from: int = 0, to: int = 0) const 🔗
Renvoie le nombre d’occurrences de la sous-chaîne what entre les positions from et to. Si to vaut 0, la recherche continue jusque la fin de la chaîne.
int countn(what: String, from: int = 0, to: int = 0) const 🔗
Renvoie le nombre d’occurrences de la sous-chaîne what entre les positions from et to, ignorant la casse. Si to vaut 0, la recherche continue jusque la fin de la chaîne.
Renvoie une copie de la chaîne de caractères avec l'indentation (les tabulations et les espaces) retirée. Voir aussi indent() pour ajouter une indentation.
bool ends_with(text: String) const 🔗
Renvoie true si la chaîne de caractères finit par la chaîne de caractères text donnée. Voir aussi begins_with().
String erase(position: int, chars: int = 1) const 🔗
Renvoie une chaîne avec les chars premiers caractères effacés à partir d’une certaine position. Si chars dépasse la longueur de la chaîne, compte tenu de la position spécifiée, moins de caractères seront effacés de la chaîne renvoyée. Renvoie une chaîne vide si position ou chars est négatif. Renvoie la chaîne originale non modifiée si chars est à 0.
int filecasecmp_to(to: String) const 🔗
Comme naturalcasecmp_to() mais priorise les chaînes commençant par des points (.) et des tirets bas (_)) avant tout autre caractère. Utile lors du tri des dossiers ou des noms de fichiers.
Pour obtenir un résultat booléen bool d’une comparaison de chaîne, utilisez plutôt l’opérateur =. Voir aussi filenocasecmp_to(), naturalcasecmp_to(), et casecmp_to().
int filenocasecmp_to(to: String) const 🔗
Comme naturalnocasecmp_to() mais priorise les chaînes commençant par des points (.) et des tirets bas (_)) avant tout autre caractère. Utile lors du tri des dossiers ou des noms de fichiers.
Pour obtenir un résultat booléen bool d’une comparaison de chaîne, utilisez plutôt l’opérateur =. Voir aussi filecasecmp_to(), naturalnocasecmp_to(), et nocasecmp_to().
int find(what: String, from: int = 0) const 🔗
Renvoie l’index de la première occurrence de what dans cette chaîne, ou -1 s’il n’y en a pas. Le début de la recherche peut être spécifié avec from, continuant jusqu’à la fin de la chaîne.
print("équipe".find("je") # Affiche -1
print("Patate".find("t") # Affiche 2
print("Patate".find("t", 3)) # Affiche 4
print("Patate".find("t", 5) # Affiche -1
GD.Print("équipe".Find("je")) ; // Affiche -1
GD.Print("Patate".Find("t")) ; // Affiche 2
GD.Print("Patate".Find("t", 3)) ; // Affiche 4
GD.Print("Patate",Find("t", 5)) ; // Affiche -1
Note : Si vous voulez simplement savoir si la chaîne contient what, utilisez contains(). En GDScript, vous pouvez également utiliser l'opérateur in.
Note : Une valeur négative de from est convertie en un index de départ en comptant à partir du dernier index possible avec suffisamment d'espace pour trouver what.
int findn(what: String, from: int = 0) const 🔗
Renvoie l’index de la première occurrence insensible à la casse de what dans cette chaîne, ou -1 s’il n’y en a pas. L’index de recherche de départ peut être spécifié avec from, continuant jusqu’à la fin de la chaîne.
String format(values: Variant, placeholder: String = "{_}") const 🔗
Formate la chaîne en remplaçant toutes les occurrences de placeholder par les éléments de values.
values peut être un Dictionary, un Array ou un Object. Tout tiret-bas dans placeholder sera remplacé par les clés correspondantes à l'avance. Les éléments d'un tableau utilisent leur index comme clés.
# Affiche "En attendant Godot est une pièce de Samuel Beckett, et Godot Engine est nommé d'après elle."
var utiliser_valeurs_tableau = "En attendant {0} est une pièce de {1}, et {0} Engine est nommé d'après elle."
print(utiliser_valeurs_tableau.format(["Godot", "Samuel Beckett"]))
# Affiche "L'utilisateur 42 est Godot."
print("L'utilisateur {id} est {nom}.".format({"id": 42, "nom": "Godot"}))
Des manipulations supplémentaires sont effectués lorsque values est un Array. Si placeholder ne contient pas de tiret-bas, les éléments du tableau values seront utilisés pour remplacer une occurrence du placeholder dans l'ordre, si un élément de values est un autre tableau de 2 éléments, il sera interprété comme une paire de valeurs-clés.
# Affiche "L'utilisateur 42 est Godot."
print("L'utilisateur {} est {}.".format([42, "Godot"], "{}"))
print("L'utilisateur {id} est {nom}.".format([["id", 42], ["nom", "Godot"]))
Lorsque vous passez un Object, les noms de propriétés de Object.get_property_list() sont utilisés comme clés.
# Affiche "Visible true, position (0, 0)"
var noeud = Node2D.new()
print("Visible {visible}, position {position}".format(noeud))
Voir aussi le tutoriel chaîne de format GDScript.
Note : Chaque remplacement est effectué séquentiellement pour chaque élément de values, pas tous à la fois. Cela signifie que si un élément est inséré et qu'il contient un autre placeholder, il peut être modifié par le prochain remplacement. Bien que cela puisse être très utile, cela provoque souvent des résultats inattendus. Si cela n'est pas nécessaire, assurez-vous que les éléments de values ne contiennent pas de placeholders.
print("{0} {1}".format(["{1}", "x"])) # Affiche "x x"
print("{0} {1}".format(["x", "{0}"])) # Affiche "x {0}"
print("{a} {b}".format({"a": "{b}", "b": "c"})) # Affiche "c c"
print("{a} {b}".format({"b": "c", "a": "{b}"})) # Affiche "{b} c"
Note: En C#, il est plutôt recommandé d'interpoler les chaînes avec "$".
Si la chaîne est un chemin de fichier valide, renvoie le nom du répertoire de base.
var chemin_rep = "/chemin/vers/fichier.txt".get_base_dir() # chemin_rep vaut "/chemin/vers"
Si la chaîne est un chemin de fichier valide, renvoie le chemin de fichier complet, sans l'extension.
var base = "/chemin/vers/fichier.txt".get_basename() # la base est "/chemin/vers/fichier"
String get_extension() const 🔗
Si la chaîne est un nom ou un chemin de fichier valide, renvoie l'extension de fichier sans le point du début (.). Sinon, renvoie une chaîne vide.
var a = "/chemin/vers/fichier.txt".get_extension() # a vaut "txt"
var b = "cool.txt".get_extension() # b vaut "txt"
var c = "cool.font.tres".get_extension() # c vaut "tres"
var d = ".pack1".get_extension() # d vaut "pack1"
var e = "file.txt.".get_extension() # e vaut ""
var f = "file.txt..".get_extension() # f vaut ""
var g = "txt".get_extension() # g vaut ""
var h = "".get_extension() # h vaut ""
Si la chaîne est un chemin de fichier valide, renvoie le nom du fichier, avec l'extension.
var fichier = "/chemin/vers/icone.png".get_file() # chemin vaut "icone.png"
String get_slice(delimiter: String, slice: int) const 🔗
Divise la chaîne en utilisant un délimiteur delimiter et renvoie la sous-chaîne à l'index slice. Renvoie la chaîne d'origine si delimiter n’apparaît pas dans la chaîne. Renvoie une chaîne vide si l'index slice n'existe pas.
Ceci est plus rapide que split(), si vous n'avez besoin qu'une seule sous-chaîne.
print("je/suis/exemple/hello".get_slice("/", 2)) # Affiche "exemple"
int get_slice_count(delimiter: String) const 🔗
Renvoie le nombre total de tranches quand la chaîne est divisée avec le délimiteur delimiter donné (voir split()).
String get_slicec(delimiter: int, slice: int) const 🔗
Divise la chaîne en utilisant un caractère Unicode avec le code delimiter et renvoie la sous-chaîne à l'index slice. Renvoie une chaîne vide si l'index slice n'existe pas.
Ceci est plus rapide que split(), si vous n'avez besoin que d'une sous-chaîne.
Renvoie la valeur de hachage de 32 bits représentant le contenu de la chaîne.
Note : Des chaînes avec des valeurs de hachage identiques ne sont pas garanties d'être identiques, à cause des collisions de hachage. À l'inverse, les chaînes avec des valeurs de hachage différentes sont garanties d'être différentes.
PackedByteArray hex_decode() const 🔗
Décode une chaîne hexadécimale en un PackedByteArray.
var texte = "bonjour le monde"
var encode = texte.to_utf8_buffer().hex_encode() # outputs "626f6e6a6f7572206c65206d6f6e6465"
print(encode.hex_decode().get_string_from_utf8())
var texte = "hello world";
var encode = texte.ToUtf8Buffer().HexEncode(); // outputs "626f6e6a6f7572206c65206d6f6e6465"
GD.Print(encode.HexDecode().GetStringFromUtf8());
Convertit la chaîne représentant un nombre hexadécimal en un entier int. La chaîne peut éventuellement être préfixée avec "0x", et un préfixe supplémentaire - pour les nombres négatifs.
print("0xff".hex_to_int()) # Affiche 255
print("ab".hex_to_int()) # Affiche 171
GD.Print("0xff".HexToInt()); // Affiche 255
GD.Print("ab".HexToInt()); // Affiche 171
String indent(prefix: String) const 🔗
Indente chaque ligne de la chaîne avec le préfixe prefix donné. Les lignes vides ne sont pas indentées. Voir aussi dedent() pour supprimer l'indentation.
Par exemple, la chaîne peut être indentée avec deux tabulations en utilisant "\t\t", ou quatre espaces utilisant " ".
String insert(position: int, what: String) const 🔗
Insère la chaîne what à la position position donnée dans la chaîne.
bool is_absolute_path() const 🔗
Renvoie true si la chaîne est un chemin vers un fichier ou un répertoire, et son point de départ est explicitement défini. Cette méthode est le contraire de is_relative_path().
Cela inclut tous les chemins commençant par "res://", "user://", "C:\", "/", etc.
Renvoie true si la longueur de la chaîne est de 0 (""). Voir aussi length().
bool is_relative_path() const 🔗
Renvoie true si la chaîne est un chemin, et son point de départ est dépendant du contexte. Le chemin pourrait commencer du répertoire courant, ou le Node actuel (si la chaîne est dérivée d'un NodePath), et peut parfois être préfixée avec "./". Cette méthode est le contraire de is_absolute_path().
bool is_subsequence_of(text: String) const 🔗
Renvoie true si tous les caractères de cette chaîne peuvent être trouvés dans le texte text dans leur ordre original. Ce n'est pas la même chose que contains().
var texte = "Wow, incroyable!"
print("inroable".is_subsequence_of(texte)) # Affiche true
print("Woya!".is_subsequence_of(texte))) # Affiche true
print("Window".is_subsequence_of(texte))) # Affiche false
print("".is_subsequence_of(text)) # Affiche true
bool is_subsequence_ofn(text: String) const 🔗
Renvoie true si tous les caractères de cette chaîne peuvent être trouvés dans le texte text dans leur ordre original, ignorant la casse. Ce n'est pas la même chose que containsn().
bool is_valid_ascii_identifier() const 🔗
Renvoie true si cette chaîne est un identifiant ASCII valide. Un identifiant ASCII valide ne peut contenir que des lettres, des chiffres et des tirets bas (_) et le premier caractère ne peut pas être un chiffre.
print("node_2d".is_valid_ascii_identifier()) # Affiche true
print("TYPE_FLOAT".is_valid_ascii_identifier()) # Affiche true
print("1st_method".is_valid_ascii_identifier()) # Affiche false
print("MyMethod#2".is_valid_ascii_identifier()) # Affiche false
Voir aussi is_valid_unicode_identifier().
bool is_valid_filename() const 🔗
Renvoie true si cette chaîne est un nom de fichier valide. Un nom de fichier valide ne peut pas être vide, commencer ou finir avec des espaces, ou contenir des caractères qui ne sont pas autorisés (: / \ ? * " | % < >).
Renvoie true si cette chaîne représente un nombre à virgule flottante valide. Un flottant valide ne peut contenir que des chiffres, un point décimal (.), et la lettre d'exposant (e). Il peut également être préfixé avec un signe positif (+) ou négatif (-). Tout entier valide est également un flottant valide (voir is_valid_int()). Voir aussi to_float().
print("1.7".is_valid_float()) # Affiche true
print("24".is_valid_float()) # Affiche true
print("7e3".is_valid_float()) # Affiche true
print("Hello".is_valid_float()) # Affiche false
bool is_valid_hex_number(with_prefix: bool = false) const 🔗
Renvoie true si cette chaîne est un nombre hexadécimal valide. Un nombre hexadécimal valide ne contient que des chiffres ou des lettres de A à F (en majuscule ou minuscule), et peut être préfixé avec un signe positif (+) ou négatif (-).
Si with_prefix vaut true, le nombre hexadécimal doit être préfixé par "0x" pour être considéré valide.
print("A08E".is_valid_hex_number()) # Affiche true
print("-AbCdEf".is_valid_hex_number()) # Affiche true
print("2.5".is_valid_hex_number()) # Affiche false
print("0xDEADC0DE".is_valid_hex_number(true)) # Affiche true
bool is_valid_html_color() const 🔗
Renvoie true si cette chaîne est une couleur valide dans la notation HTML hexadécimale. La chaîne doit être une valeur hexadécimale (voir is_valid_hex_number()) de 3, 4, 6 ou 8 chiffres, et peut être préfixée par un signe de croisillon (#). D'autres notations HTML pour les couleurs, telles que les noms ou hsl(), ne sont pas considérées valides. Voir aussi Color.html().
bool is_valid_identifier() const 🔗
Obsolète : Use is_valid_ascii_identifier() instead.
Renvoie true si cette chaîne est un identifiant valide. Un identifiant valide ne peut contenir que des lettres, des chiffres et des tirets du bas (_), et le premier caractère ne peut pas être un chiffre.
print("node_2d".is_valid_identifier()) # Affiche true
print("TYPE_FLOAT".is_valid_identifier()) # Affiche true
print("1ere_methode".is_valid_identifier()) # Affiche false
print("MaMethode#2".is_valid_identifier()) # Affiche false
Renvoie true si cette chaîne représente un entier valide. Un entier valide ne contient que des chiffres et peut être préfixé avec un signe positif (+) ou négatif (-). Voir aussi to_int().
print("7".is_valid_int()) # Affiche true
print("1.65".is_valid_int()) # Affiche false
print("Hello".is_valid_int()) # Affiche false
print("+3".is_valid_int()) # Affiche true
print("-12".is_valid_int()) # Affiche true
bool is_valid_ip_address() const 🔗
Renvoie true si cette chaîne représente une adresse IPv4 ou IPv6 bien formatée. Cette méthode considère les adresses IP réservées comme "0.0.0.0" et "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" comme valides.
bool is_valid_unicode_identifier() const 🔗
Renvoie true si cette chaîne est un identifiant Unicode valide.
Un identifiant Unicode valide doit commencer par un caractère Unicode de la classe XID_Start ou "_", et peut contenir des caractères Unicode de la classe XID_Continue dans les autres positions.
print("node_2d".is_valid_unicode_identifier()) # Affiche true
print("1ere_methode".is_valid_unicode_identifier()) # Affiche false
print("MaMethode#2".is_valid_unicode_identifier()) # Affiche false
print("állóképesség".is_valid_unicode_identifier()) # Affiche true
print("выносливость".is_valid_unicode_identifier()) # Affiche true
print("体力".is_valid_unicode_identifier()) # Affiche true
Voir aussi is_valid_ascii_identifier().
Note : Cette méthode vérifie les identifiants de la même manière en GDScript. Voir TextServer.is_valid_identifier() pour des vérifications plus avancées.
String join(parts: PackedStringArray) const 🔗
Renvoie la concaténation des éléments du tableau parts, avec chaque élément séparé par la chaîne appelant cette méthode. Cette méthode est l'opposé de split().
var fruits = ["Pomme", "Orange", "Poire", "Kiwi"]
print(", ".join(fruits)) # Affiche "Pomme, Orange, Poire, Kiwi"
print("---".join(fruits)) # Affiche "Pomme---Orange---Poire---Kiwi"
string[] fruits = ["Pomme", "Orange", "Poire", "Kiwi"];
// En C#, cette méthode est statique.
GD.Print(string.Join(", ", fruits)); // Affiche "Pomme, Orange, Poire, Kiwi"
GD.Print(string.Join("---", fruits)); // Affiche "Pomme---Orange---Poire---Kiwi"
Renvoie une copie de la chaîne avec les caractères spéciaux échappés en utilisant la norme JSON. Comme elle correspond fortement à la norme C, il est possible d'utiliser c_unescape() pour échapper la chaîne, si nécessaire.
String left(length: int) const 🔗
Renvoie les length premiers caractères du début de la chaîne. Si length est négatif, retire les length derniers caractères de la fin de la chaîne.
print("Bonjour monde!".left(3)) # Affiche "Bon"
print("Bonjour monde!".left(-4)) # Affiche "Bonjour mo"
Renvoie le nombre de caractères dans la chaîne. Les chaînes vides (") renvoient toujours 0. Voir aussi is_empty().
String lpad(min_length: int, character: String = " ") const 🔗
Formate la chaîne pour qu'elle ait au moins min_length caractères en ajoutant character caractères à gauche de la chaîne, si nécessaire. Voir aussi rpad().
String lstrip(chars: String) const 🔗
Retire un ensemble de caractères définis dans chars du début de la chaîne. Voir aussi rstrip().
Note : chars n'est pas un préfixe. Utilisez trim_prefix() pour supprimer un seul préfixe, plutôt qu'un ensemble de caractères.
bool match(expr: String) const 🔗
Fait une correspondance simple de l'expression (aussi appelé "glob" ou "globbing"), où * correspond à 0 ou plus caractères arbitraires, et ? correspond à n'importe quel caractère unique sauf un point (.). Une chaîne ou expression vide est toujours évaluée à false.
bool matchn(expr: String) const 🔗
Fait une correspondance simple sensible à la casse de l'expression, où * correspond à 0 ou plus caractères arbitraires, et ? correspond à n'importe quel caractère unique sauf un point (.). Une chaîne ou expression vide est toujours évaluée à false.
PackedByteArray md5_buffer() const 🔗
Renvoie le hachage MD5 de la chaîne en tant que PackedByteArray.
Renvoie le hachage MD5 de la chaîne en tant qu'autre String.
int naturalcasecmp_to(to: String) const 🔗
Effectue une comparaison dans l'ordre naturel, sensible à la casse avec une autre chaîne. Renvoie -1 si inférieure à, 1 si plus supérieure à, ou 0 si égales. "Inférieure à" ou "supérieure à" sont déterminés par les points de code Unicode de chaque chaîne, qui correspond approximativement à l'ordre alphabétique.
Lorsqu'utilisé pour le tri, la comparaison en ordre naturel ordonne des séquences de nombres par la valeur combinée de chaque chiffre comme généralement attendu, au lieu de la valeur du chiffre seul. Une séquence de chaînes de nombres triée sera ["1, "2", "3", ...], pas ["1", "10", "2", "3", ...].
Avec différentes longueurs de chaîne, renvoie 1 si cette chaîne est plus longue que la chaîne to, ou -1 si elle est plus courte. Notez que la longueur des chaînes vides est toujours de 0.
Pour obtenir un résultat en bool d'une comparaison de chaîne, utilisez plutôt l'opérateur ==. Voir aussi naturalnocasecmp_to(), filecasecmp_to(), et nocasecmp_to().
int naturalnocasecmp_to(to: String) const 🔗
Effectue une comparaison dans l'ordre naturel, insensible à la casse avec une autre chaîne. Renvoie -1 si inférieure à, 1 si plus supérieure à, ou 0 si égales. "Inférieure à" ou "supérieure à" sont déterminés par les points de code Unicode de chaque chaîne, qui correspond approximativement à l'ordre alphabétique.
Lorsqu'utilisé pour le tri, la comparaison en ordre naturel ordonne des séquences de nombres par la valeur combinée de chaque chiffre comme généralement attendu, au lieu de la valeur du chiffre seul. Une séquence de chaînes de nombres triée sera ["1, "2", "3", ...], pas ["1", "10", "2", "3", ...].
Avec différentes longueurs de chaîne, renvoie 1 si cette chaîne est plus longue que la chaîne to, ou -1 si elle est plus courte. Notez que la longueur des chaînes vides est toujours de 0.
Pour obtenir un résultat en bool d'une comparaison de chaîne, utilisez plutôt l'opérateur ==. Voir aussi naturalnocasecmp_to(), filecasecmp_to(), et nocasecmp_to().
int nocasecmp_to(to: String) const 🔗
Effectue une comparaison insensible à la casse avec une autre chaîne. Renvoie -1 si inférieure à 1 si plus supérieure à, ou 0 si égales. "Inférieure à" ou "supérieure à" sont déterminés par les points de code Unicode de chaque chaîne, qui correspond approximativement à l'ordre alphabétique. En interne, les caractères minuscules sont convertis en majuscules pour la comparaison.
Avec des longueurs de chaîne différentes, renvoie 1 si cette chaîne est plus longue que la chaîne to, ou -1 si elle est plus courte. Notez que la longueur des chaînes vides est toujours de 0.
Pour obtenir un résultat en bool d'une comparaison de chaîne, utilisez plutôt l'opérateur ==. Voir aussi casecmp_to(), filenocasecmp_to(), et naturalnocasecmp_to().
String pad_decimals(digits: int) const 🔗
Formate la chaîne représentant un nombre pour avoir exactement digits chiffres après la virgule.
String pad_zeros(digits: int) const 🔗
Formate la chaîne représentant un nombre pour avoir exactement digits chiffres avant la virgule.
String path_join(path: String) const 🔗
Concatène path à la fin de la chaîne comme sous-chemin, ajoutant / si nécessaire.
Exemple : "cest/le".path_join("chemin") == "cest/le/chemin".
String remove_char(what: int) const 🔗
Retire toutes les occurrences du caractère Unicode avec le code what. Version plus rapide de replace() lorsque la clé n'est longue que d'un caractère et que le remplacement est "".
String remove_chars(chars: String) const 🔗
Removes all occurrences of the characters in chars. See also remove_char().
String repeat(count: int) const 🔗
Répète cette chaîne un certain nombre de fois. count doit être supérieur à 0. Sinon, renvoie une chaîne vide.
String replace(what: String, forwhat: String) const 🔗
Remplace toutes les occurrences de la chaîne what dans la chaîne courante avec la chaîne forwhat donnée.
String replace_char(key: int, with: int) const 🔗
Remplace toutes les occurrences du caractère Unicode avec le code key par le caractère Unicode avec le code with. Version plus rapide de replace() lorsque la clé est composée seulement d'un caractère. Pour obtenir un seul caractère, utilisez "X".unicode_at(0) (notez que certaines chaînes, comme les lettres composés et les émojis, peuvent être composées de plusieurs codes unicode, et ne fonctionneront pas avec cette méthode, utilisez length() pour vous en assurer).
String replace_chars(keys: String, with: int) const 🔗
Remplace toute occurrence des caractères de la chaîne keys par le caractère Unicode avec le code with. Voir aussi replace_char().
String replacen(what: String, forwhat: String) const 🔗
Remplace toutes les occurrences insensibles à la casse de la chaîne what à l'intérieur de la chaîne par la chaîne forwhat donnée.
Renvoie la copie de cette chaîne en ordre inverse. Cette opération fonctionne sur des points de code unicode, plutôt que sur des séquences de points de code, et peut casser des choses comme les lettres composées ou les emojis.
int rfind(what: String, from: int = -1) const 🔗
Returns the index of the last occurrence of what in this string, or -1 if there are none. The search's start can be specified with from, continuing to the beginning of the string. This method is the reverse of find().
Note: A negative value of from is converted to a starting index by counting back from the last possible index with enough space to find what.
Note: A value of from that is greater than the last possible index with enough space to find what is considered out-of-bounds, and returns -1.
int rfindn(what: String, from: int = -1) const 🔗
Renvoie l'index de la dernière occurrence sensible à la casse de la chaîne what dans cette chaîne, ou -1 s'il n'y en a pas. Le début de la recherche peut être spécifié avec from, continuant vers le début de la chaîne. Cette méthode est l'inverse de find().
String right(length: int) const 🔗
Renvoie les length derniers caractères depuis la fin de la chaîne. Si length est négatif, retire les length premiers caractères depuis le début de la chaîne.
print("Bonjour monde!".right(3)) # Prints "de!"
print("Bonjour monde!".right(-4)) # Prints "our monde!"
String rpad(min_length: int, character: String = " ") const 🔗
Formate la chaîne pour être longue d'au moins min_length caractères, en ajoutant character caractères à la droite de la chaîne, si nécessaire. Voir aussi lpad().
PackedStringArray rsplit(delimiter: String = "", allow_empty: bool = true, maxsplit: int = 0) const 🔗
Divise une chaîne de caractères en utilisant une chaîne de délimitation delimiter et renvoie un tableau avec ces sous-chaînes, en partant de la fin de la chaîne. Les divisions renvoyés dans le tableau sont dans le même ordre que la chaîne de caractères originale. Si delimiter est une chaîne vide, chaque sous-chaîne sera composée d'un seul caractère.
Si allow_empty vaut false, les chaînes vides entre des délimiteurs adjacents sont exclues du tableau.
Si maxsplit est supérieur à 0, le nombre de divisions ne peut excéder maxsplit. Par défaut, la chaîne entière est divisée, ce qui est globalement identique à split().
var une_chaine = "Un,Deux,Trois,Quatre"
var un_tableau = une_chaine.rsplit(",", true, 1)
print(un_tableau.size()) # Affiche 2
print(un_tableau[0]) # Affiche "Un,Deux,Trois"
print(un_tableau[1]) # Affiche "Quatre"
// En C#, il n'y a pas de méthode String.RSplit().
String rstrip(chars: String) const 🔗
Retire un ensemble de caractères définis dans chars depuis la fin de la chaîne. Voir aussi rstrip().
Note : chars n'est pas un suffixe. Utilisez trim_suffix() pour supprimer un seul suffixe, plutôt qu'un ensemble de caractères.
PackedByteArray sha1_buffer() const 🔗
Renvoie le hachage SHA-1 de la chaîne en tant que PackedByteArray.
Renvoie le hachage SHA-1 de la chaîne en tant qu'autre String.
PackedByteArray sha256_buffer() const 🔗
Renvoie le hash SHA-256 de la chaîne de caractères en PackedByteArray.
Renvoie le hash SHA-256 de la chaîne de caractères en String.
float similarity(text: String) const 🔗
Renvoie l'indice de similarité (Indice de Sørensen-Dice) de cette chaîne de caractères par rapport à une autre. Un résultat de 1.0 signifie qu'elles sont identiques, alors que 0.0 signifie qu'elles sont complètement différentes.
print("ABC123".similarity("ABC123")) # Affiche 1.0
print("ABC123".similarity("XYZ456")) # Affiche 0.0
print("ABC123".similarity("123ABC")) # Affiche 0.8
print("ABC123".similarity("abc123")) # Affiche 0.4
String simplify_path() const 🔗
Si la chaîne est un chemin de fichier valide, convertit la chaîne en un chemin canonique. C'est le chemin le plus court possible, sans "./", et tous les ".." et "/" inutiles.
var chemin_simple = "./chemin/vers///./fichier".simplify_path()
print(chemin_simple) # Affiche "chemin/fichier"
PackedStringArray split(delimiter: String = "", allow_empty: bool = true, maxsplit: int = 0) const 🔗
Divise la chaîne en utilisant un délimiteur delimiter et renvoie un tableau des sous-chaînes. Si delimiter est une chaîne vide, chaque sous-chaîne sera un unique caractère. Cette méthode est le contraire de join().
Si allow_empty vaut false, les chaînes vides entre les délimiteurs adjacents sont exclues du tableau.
Si maxsplit est supérieur à 0, le nombre de divisions ne peut excéder maxsplit. Par défaut, la chaîne entière est divisée.
var un_tableau = "Un,Deux,Trois,Quatre".split(",", true, 2)
print(un_tableau.size()) # Prints 3
print(un_tableau[0]) # Affiche "One"
print(un_tableau[1]) # Affiche "Deux"
print(un_tableau[2]) # Affiche "Trois,Quatre"
// `Split()`en C# ne supporte pas le paramètre `maxsplit`.
var unTableau = "Un,Deux,Trois".Split(",");
GD.Print(unTableau[0]); // Affiche "Un"
GD.Print(unTableau[1]); // Affiche "Deux"
GD.Print(unTableau[2]); // Affiche "Trois"
Note : Si vous n'avez besoin que d'une sous-chaîne du tableau, envisagez d'utiliser get_slice() qui est plus rapide. Si vous devez diviser les chaînes avec des règles plus complexes, utilisez plutôt la classe RegEx.
PackedFloat64Array split_floats(delimiter: String, allow_empty: bool = true) const 🔗
Divise la chaîne en flottants en utilisant un délimiteur delimiter et renvoie un PackedFloat64Array.
Si allow_empty vaut false, les conversions de float vides ou invalides entre les délimiteurs adjacents sont exclues.
var a = "1,2,4.5".split_floats(",") # a vaut [1.0, 2.0, 4.5]
var c = "1| ||4.5".split_floats("|") # c vaut [1.0, 0.0, 0.0, 4.5]
var b = "1| ||4.5".split_floats("|", false) # b vaut [1.0, 4.5]
String strip_edges(left: bool = true, right: bool = true) const 🔗
Retire tous les caractères non-imprimables du début et de la fin de la chaîne. Il s'agit d'espaces, de tabulations (\t), et de caractères de nouvelle ligne (\n \r).
Si left vaut false, ignore le début de la chaîne. De même, si right vaut false, ignore la fin de la chaîne.
String strip_escapes() const 🔗
Retire tous les caractères d'échappement de la chaîne. Il s'agit de tous les caractères de contrôle non-imprimables de la première page de la table ASCII (valeurs de 0 à 31), tels que les tabulations (\t) et les caractères de nouvelle ligne (\n, \r), mais pas les espaces.
String substr(from: int, len: int = -1) const 🔗
Renvoie la partie de la chaîne commençant à la position from avec la longueur len. Si len vaut -1 (comme par défaut), renvoie le reste de la chaîne depuis la position donnée.
PackedByteArray to_ascii_buffer() const 🔗
Convertit la chaîne en un PackedByteArray encodé en ASCII/Latin-1. Cette méthode est légèrement plus rapide que to_utf8_buffer(), mais remplace tous les caractères non supportés par des espaces. C'est l'inverse de PackedByteArray.get_string_from_ascii().
String to_camel_case() const 🔗
Renvoie la chaîne de caractères convertie en camelCase.
Convertit une chaîne représentant un nombre décimal en un float. La méthode s'arrêtera sur le premier caractère qui n'est pas un chiffre, sauf le premier . (point décimal), et lettre d'exposant e. Voir aussi is_valid_float().
var a = "12.35".to_float() # a vaut 12.35
var b = "1.2.3".to_float() # b vaut 1.2
var c = "12xy3".to_float() # c vaut 12.0
var d = "1e3".to_float() # d vaut 1000.0
var e = "Hello !".to_float() # e vaut 0.0
Convertit une chaîne représentant un nombre entier en un int. La méthode supprimera tout caractère qui n'est pas un chiffre et s'arrêtera au premier . (point décimal). Voir aussi is_valid_int().
var a = "123".to_int() # a vaut 123
var b = "x1y2z3".to_int() # b vaut 123
var c = "-1.2.3".to_int() # c vaut -1
var d = "Hello !".to_int() # d vaut 0
String to_kebab_case() const 🔗
Renvoie la chaîne convertie en kebab-case.
Note : Les nombres suivis d'une seule lettre ne sont pas séparés dans la conversion pour garder quelques mots (comme "2D") ensemble.
"Node2D".to_kebab_case() # Renvoie "node-2d"
"2de place".to_kebab_case() # Renvoie "2-de-place"
"Texture3DAssetFolder".to_kebab_case() # Renvoie "texture-3d-asset-folder"
"Node2D".ToKebabCase(); // Renvoie "node-2d"
"2de place".ToKebabCase(); // Renvoie "2-de-place"
"Texture3DAssetFolder".ToKebabCase(); // Renvoie "texture-3d-asset-folder"
Renvoie la chaîne de caractères convertie en lowercase (minuscules).
PackedByteArray to_multibyte_char_buffer(encoding: String = "") const 🔗
Converts the string to system multibyte code page encoded PackedByteArray. If conversion fails, empty array is returned.
The values permitted for encoding are system dependent. If encoding is empty string, system default encoding is used.
For Windows, see Code Page Identifiers .NET names.
For macOS and Linux/BSD, see
libiconvlibrary documentation andiconv --listfor a list of supported encodings.
String to_pascal_case() const 🔗
Renvoie la chaîne de caractères convertie en PascalCase.
String to_snake_case() const 🔗
Renvoie la chaîne convertie en snake_case.
Note : Les nombres suivis d'une seule lettre ne sont pas séparés dans la conversion pour garder quelques mots (comme "2D") ensemble.
"Node2D".to_snake_case() # Renvoie "node_2d"
"2de place".to_snake_case() # Renvoie "2_de_place"
"Texture3DAssetFolder".to_snake_case() # Renvoie "texture_3d_asset_folder"
"Node2D".ToSnakeCase(); // Renvoie "node_2d"
"2de place".ToSnakeCase(); // Renvoie "2_de_place"
"Texture3DAssetFolder".ToSnakeCase(); // Renvoie "texture_3d_asset_folder"
Renvoie la chaîne de caractères convertie en UPPERCASE (majuscules).
PackedByteArray to_utf8_buffer() const 🔗
Convertit la chaîne en un tableau PackedByteArray encodé en UTF-8. Cette méthode est légèrement plus lente que to_ascii_buffer(), mais prend en charge tous les caractères UTF-8. Pour la plupart des cas, préférez utiliser cette méthode. C'est l'inverse de PackedByteArray.get_string_from_utf8().
PackedByteArray to_utf16_buffer() const 🔗
Convertit la chaîne en un tableau PackedByteArray encodé en UTF-16. C'est l'inverse de PackedByteArray.get_string_from_utf16().
PackedByteArray to_utf32_buffer() const 🔗
Convertit la chaîne en un tableau PackedByteArray encodé en UTF-32. C'est l'inverse de PackedByteArray.get_string_from_utf32().
PackedByteArray to_wchar_buffer() const 🔗
Convertit la chaîne de caractères en un PackedByteArray encodé en caractères larges (wchar_t, UTF-16 sur Windows, UTF-32 sur les autres plates-formes). C'est l'inverse de PackedByteArray.get_string_from_wchar().
String trim_prefix(prefix: String) const 🔗
Supprime le préfixe prefix donné depuis le début de la chaîne, ou renvoie la chaîne inchangée.
String trim_suffix(suffix: String) const 🔗
Supprime le suffixe suffix donné depuis la fin de la chaîne, ou renvoie la chaîne inchangée.
int unicode_at(at: int) const 🔗
Renvoie le code du caractère à la position at.
Voir aussi String.chr(), @GDScript.char(), et @GDScript.ord().
Décode la chaîne depuis son format encodé d'URL. Cette méthode est destinée à décoder correctement les paramètres dans une URL lors de la réception d'une requête HTTP. Voir aussi uri_encode().
var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
print(url.uri_decode()) # Affiche "$DOCS_URL/?highlight=Godot Engine:docs"
var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
GD.Print(url.URIDecode()) // Affiche "$DOCS_URL/?highlight=Godot Engine:docs"
Note : Cette méthode décode + en un espace.
Encode la chaîne en un format d'URL. Cette méthode est destinée à encoder correctement les paramètres dans une URL lors de l'envoi d'une requête HTTP. Voir aussi uri_decode().
var prefixe = "$DOCS_URL/?highlight="
var url = prefixe + "Godot Engine:docs".uri_encode()
print(url) # Affiche "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
var prefixe = "$DOCS_URL/?highlight=";
var url = prefixe + "Godot Engine:docs".URIEncode();
GD.Print(url); // Affiche "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
String uri_file_decode() const 🔗
Décode le chemin de fichier depuis son format encodé d'URL. Contrairement à uri_decode(), cette méthode laisse + tel quel.
String validate_filename() const 🔗
Renvoie une copie de la chaîne avec tous les caractères qui ne sont pas autorisés dans is_valid_filename() remplacés par des tirets du bas.
String validate_node_name() const 🔗
Renvoie une copie de la chaîne avec tous les caractères qui ne sont pas autorisés dans Node.name (. : @ / " %) remplacés par des tirets du bas.
String xml_escape(escape_quotes: bool = false) const 🔗
Renvoie une copie de la chaîne avec les caractères spéciaux échappés en utilisant la norme XML. Si escape_quotes vaut true, les caractères de guillemet simples (') et doubles (") sont également échappés.
Renvoie une copie de la chaîne avec des caractères échappés remplacés par leurs significations selon la norme XML.
Descriptions des opérateurs
bool operator !=(right: String) 🔗
Renvoie true si ce StringName n'est pas équivalent au String donné.
bool operator !=(right: StringName) 🔗
Renvoie true si StringName et right ne se réfèrent pas au même nom. Les comparaisons entre StringNames sont beaucoup plus rapides que les comparaisons de String habituelles.
String operator %(right: Variant) 🔗
Formate le StringName, remplaçant les placeholders par un ou plusieurs paramètres, et renvoyant un String. Pour passer plusieurs paramètres, right doit être un Array.
Pour plus d'informations, consultez le tutoriel Chaînes de format en GDScript.
Note : En C#, cet opérateur n'est pas disponible. Au lieu de cela, voir Interpolation de chaîne à l’aide de "$".
String operator +(right: String) 🔗
Ajoute la chaîne right à la fin de ce StringName, renvoyant une String. Ceci est également connu comme une concaténation de chaînes.
String operator +(right: StringName) 🔗
Ajoute la chaîne right à la fin de ce StringName, renvoyant une String. Ceci est également connu comme une concaténation de chaînes.
bool operator <(right: StringName) 🔗
Renvoie true si le pointeur du StringName de gauche arrive avant le pointeur de right. Notez que cela ne correspondra pas à leur ordre Unicode.
bool operator <=(right: StringName) 🔗
Renvoie true si le pointeur du StringName de gauche arrive avant le pointeur de right ou s'ils sont les mêmes. Notez que cela ne correspondra pas à leur ordre Unicode.
bool operator ==(right: String) 🔗
Renvoie true si ce StringName est équivalent au String donné.
bool operator ==(right: StringName) 🔗
Renvoie true si StringName et right se réfèrent au même nom. Les comparaisons entre StringNames sont beaucoup plus rapides que les comparaisons de String habituelles.
bool operator >(right: StringName) 🔗
Renvoie true si le pointeur du StringName de gauche arrive après le pointeur de right. Notez que cela ne correspondra pas à leur ordre Unicode.
bool operator >=(right: StringName) 🔗
Renvoie true si le pointeur du StringName de gauche arrive après le pointeur de right ou s'ils sont les mêmes. Notez que cela ne correspondra pas à leur ordre Unicode.