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 tipo integrato per stringhe univoche.
Descrizione
Gli StringName sono stringhe immutabili progettate per la rappresentazione generica di nomi univoci (chiamata anche "string interning"). Due StringName con lo stesso valore sono lo stesso oggetto. Confrontarli è estremamente veloce rispetto alle normali String.
Di solito passerai una String ai metodi che si aspettano uno StringName e sarà convertita automaticamente (spesso in fase di compilazione), ma in rari casi puoi costruire uno StringName in anticipo con il costruttore StringName o, in GDScript, la sintassi letterale &"example". La costruzione manuale di uno StringName ti consente di controllare quando avviene la conversione da String o di usare la sintassi letterale e impedire completamente le conversioni.
Vedi anche NodePath, che è un concetto simile progettato specificamente per memorizzare percorsi di alberi di scene pre-analizzati.
Tutti i metodi di String sono disponibili anche in questa classe. Convertono StringName in una stringa e restituiscono anche una stringa. Questo è molto inefficiente e dovrebbe essere utilizzato solo se si desidera la stringa.
Nota: In C#, è richiesta una conversione esplicita in System.String per utilizzare i metodi elencati in questa pagina. Usa il metodo ToString() per convertire StringName in una stringa, quindi usa i metodi equivalenti in System.String o StringExtensions.
Nota: In un contesto booleano, StringName sarà valutato come false se è vuoto (StringName("")). Altrimenti, StringName sarà sempre valutato come true.
Nota
Ci sono differenze sostanziali quando si usa questa API con C#. Vedi Differenze dell'API C# rispetto a GDScript per maggiori informazioni.
Costruttori
StringName(from: StringName) |
|
StringName(from: String) |
Metodi
Operatori
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) |
Descrizioni dei costruttori
StringName StringName() 🔗
Costruisce un StringName vuoto.
StringName StringName(from: StringName)
Costruisce un StringName come copia del StringName specificato.
StringName StringName(from: String)
Crea un nuovo StringName dalla String specificata. In GDScript, StringName("example") è equivalente a &"example".
Descrizioni dei metodi
bool begins_with(text: String) const 🔗
Restituisce true se la stringa inizia con il testo text. Vedi anche ends_with().
PackedStringArray bigrams() const 🔗
Restituisce un array contenente i bigrammi (coppie di caratteri consecutivi) di questa stringa.
print("Vai su!".bigrams()) # Prints ["Va", "ai", "i ", " s", "su", "u!"]
Converte la stringa che rappresenta un numero binario in un int. La stringa può essere facoltativamente preceduta da "0b" e da un prefisso aggiuntivo - per i numeri negativi.
print("101".bin_to_int()) # Stampa 5
print("0b101".bin_to_int()) # Stampa 5
print("-0b10".bin_to_int()) # Stampa -2
GD.Print("101".BinToInt()); // Stampa 5
GD.Print("0b101".BinToInt()); // Stampa 5
GD.Print("-0b10".BinToInt()); // Stampa -2
Restituisce una copia della stringa con i caratteri speciali sottoposti a escape attraverso lo standard del linguaggio C.
Restituisce una copia della stringa con i caratteri di escape sostituiti dai loro significati. Le sequenze di escape supportate sono \', \", \\, \a, \b, \f, \n, \r, \t, \v.
Nota: A differenza del parser di GDScript, questo metodo non supporta la sequenza di escape \uXXXX.
Cambia l'aspetto della stringa: sostituisce i trattini bassi (_) con spazi, aggiunge spazi prima delle lettere maiuscole nel mezzo di una parola, converte tutte le lettere in minuscole, e infine converte la prima e ciascuna successiva a uno spazio in maiuscolo.
"move_local_x".capitalize() # Restituisce "Move Local X"
"sceneFile_path".capitalize() # Restituisce "Scene File Path"
"2D, FPS, PNG".capitalize() # Restituisce "2d, Fps, Png"
"move_local_x".Capitalize(); // Restituisce "Move Local X"
"sceneFile_path".Capitalize(); // Restituisce "Scene File Path"
"2D, FPS, PNG".Capitalize(); // Restituisce "2d, Fps, Png"
int casecmp_to(to: String) const 🔗
Esegue un confronto con distinzione tra maiuscole e minuscole con un'altra stringa. Restituisce -1 se minore di, 1 se maggiore di, o 0 se uguale. "Minore di" e "maggiore di" sono determinati dai punti di codice Unicode di ogni stringa, che corrispondono approssimativamente all'ordine alfabetico.
Con stringhe di lunghezze diverse, restituisce 1 se questa stringa è più lunga della stringa to, o -1 se più corta. Nota che la lunghezza delle stringhe vuote è sempre 0.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche nocasecmp_to(), filecasecmp_to() e naturalcasecmp_to().
bool contains(what: String) const 🔗
Restituisce true se la stringa contiene what. In GDScript, questo corrisponde all'operatore in.
print("Node".contains("de")) # Stampa true
print("team".contains("I")) # Stampa false
print("I" in "team") # Stampa false
GD.Print("Node".Contains("de")); // Stampa True
GD.Print("team".Contains("I")); // Stampa False
Se hai bisogno di sapere dove si trova what all'interno della stringa, usa find(). Vedi anche containsn().
bool containsn(what: String) const 🔗
Restituisce true se la stringa contiene what, ignorando le maiuscole e le minuscole.
Se hai bisogno di sapere dove si trova what all'interno della stringa, usa findn(). Vedi anche contains().
int count(what: String, from: int = 0, to: int = 0) const 🔗
Restituisce il numero di occorrenze della sottostringa what tra le posizioni from e to. Se to è 0, la ricerca continua fino alla fine della stringa.
int countn(what: String, from: int = 0, to: int = 0) const 🔗
Restituisce il numero di occorrenze della sottostringa what tra le posizioni from e to, ignorando le maiuscole e le minuscole. Se to è 0, la ricerca continua fino alla fine della stringa.
Restituisce una copia della stringa con l'indentazione (le tabulazioni iniziali e gli spazi) rimossa. Vedi anche indent() per aggiungere un'indentazione.
bool ends_with(text: String) const 🔗
Restituisce true se la stringa finisce con il testo text. Vedi anche begins_with().
String erase(position: int, chars: int = 1) const 🔗
Restituisce una stringa con chars caratteri cancellati a partire dalla posizione position. Se chars supera la lunghezza della stringa con la posizione position, verranno cancellati meno caratteri dalla stringa restituita. Restituisce una stringa vuota se position o chars è negativo. Restituisce la stringa originale non modificata se chars è 0.
int filecasecmp_to(to: String) const 🔗
Come naturalcasecmp_to() ma dà priorità alle stringhe che iniziano con punti (.) e caratteri di sottolineatura (_) prima di qualsiasi altro carattere. Utile quando si ordinano le cartelle o i nomi di file.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche filenocasecmp_to(), naturalcasecmp_to() e casecmp_to().
int filenocasecmp_to(to: String) const 🔗
Come naturalnocasecmp_to() ma dà priorità alle stringhe che iniziano con punti (.) e caratteri di sottolineatura (_) prima di qualsiasi altro carattere. Utile quando si ordinano le cartelle o i nomi di file.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche filecasecmp_to(), naturalnocasecmp_to() e nocasecmp_to().
int find(what: String, from: int = 0) const 🔗
Returns the index of the first occurrence of what in this string, or -1 if there are none. The search's start can be specified with from, continuing to the end of the string.
print("Team".find("I")) # Prints -1
print("Potato".find("t")) # Prints 2
print("Potato".find("t", 3)) # Prints 4
print("Potato".find("t", 5)) # Prints -1
GD.Print("Team".Find("I")); // Prints -1
GD.Print("Potato".Find("t")); // Prints 2
GD.Print("Potato".Find("t", 3)); // Prints 4
GD.Print("Potato".Find("t", 5)); // Prints -1
Note: If you just want to know whether the string contains what, use contains(). In GDScript, you may also use the in operator.
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.
int findn(what: String, from: int = 0) const 🔗
Restituisce l'indice della prima occorrenza di what in questa stringa o -1 se non ce ne sono, senza distinzione tra maiuscole e minuscole. L'indice di ricerca di partenza può essere specificato con from, continuando fino alla fine della stringa.
String format(values: Variant, placeholder: String = "{_}") const 🔗
Formatta la stringa sostituendo tutte le occorrenze di placeholder con gli elementi di values.
values può essere un Dictionary o un Array. Qualsiasi trattino basso in placeholder verrà sostituito in anticipo con le chiavi corrispondenti. Gli elementi di array utilizzano il loro indice come chiavi.
# Stampa "Aspettando Godot è un'opera di Samuel Beckett, e il Godot Engine prende il nome da essa."
var use_array_values = "Aspettando {0} è un'opera di {1}, e {0} Engine prende il nome da essa."
print(use_array_values.format(["Godot", "Samuel Beckett"]))
# Stampa "Utente 42 è Godot."
print("Utente {id} è {nome}.".format({"id": 42, "nome": "Godot"}))
Vengono eseguite alcune operazioni aggiuntive quando values è un Array. Se placeholder non contiene un trattino basso, gli elementi dell'array values verranno utilizzati per sostituire un'occorrenza del segnaposto in ordine; se un elemento di values è un altro array di 2 elementi, verrà interpretato come una coppia chiave-valore.
# Stampa "Utente 42 is Godot."
print("Utente {} è {}.".format([42, "Godot"], "{}"))
print("Utente {id} è {nome}.".format([["id", 42], ["nome", "Godot"]]))
Quando si passa un Object, i nomi delle proprietà da Object.get_property_list() vengono utilizzati come chiavi.
# Stampa "Visibile true, posizione (0, 0)"
var nodo = Node2D.new()
print("Visibile {visible}, posizione {position}".format(nodo))
Consulta anche il tutorial Stringa di formato GDScript.
Nota: Ogni sostituzione viene eseguita in sequenza per ogni elemento di values, non tutto in una volta. Ciò significa che se un elemento viene inserito e contiene un altro segnaposto, potrebbe essere modificato dalla sostituzione successiva. Sebbene ciò possa essere molto utile, spesso causa risultati inaspettati. Se non necessario, assicurati che gli elementi di values non contengano alcun segnaposto.
print("{0} {1}".format(["{1}", "x"])) # Stampa "x x"
print("{0} {1}".format(["x", "{0}"])) # Stampa "x {0}"
print("{foo} {bar}".format({"a": "{b}", "b": "c"})) # Stampa "c c"
print("{foo} {bar}".format({"b": "c", "a": "{b}"})) # Stampa "{b} c"
Nota: in C#, si consiglia di interpolare le stringhe con "$".
Se la stringa è un percorso di file valido, restituisce il nome della cartella di base.
var dir_path = "/path/to/file.txt".get_base_dir() # dir_path è "/path/to"
Se la stringa è un percorso di file valido, restituisce il percorso completo del file, senza l'estensione.
var base = "/path/to/file.txt".get_basename() # base is "/path/to/file"
String get_extension() const 🔗
Se la stringa è un nome o un percorso di file valido, restituisce l'estensione del file senza il punto iniziale (.). Altrimenti, restituisce una stringa vuota.
var a = "/path/to/file.txt".get_extension() # a è "txt"
var b = "cool.txt".get_extension() # b è "txt"
var c = "cool.font.tres".get_extension() # c è "tres"
var d = ".pack1".get_extension() # d è "pack1"
var e = "file.txt.".get_extension() # e è ""
var f = "file.txt..".get_extension() # f è ""
var g = "txt".get_extension() # g è ""
var h = "".get_extension() # h è ""
Se la stringa è un percorso di file valido, restituisce il nome del file, inclusa l'estensione.
var file = "/path/to/icon.png".get_file() # file è "icon.png"
String get_slice(delimiter: String, slice: int) const 🔗
Divide la stringa tramite un delimiter e restituisce la sottostringa all'indice slice. Restituisce la stringa originale se delimiter non esiste nella stringa. Restituisce una stringa vuota se la sezione all'indice slice non esiste.
Questo è più veloce di split(), se hai bisogno di una sola sottostringa.
print("sono/un/esempio/ciao".get_slice("/", 2)) # Stampa "esempio"
int get_slice_count(delimiter: String) const 🔗
Restituisce il numero totale di sezioni quando la stringa viene divisa con il delimiter specificato (vedi split()).
String get_slicec(delimiter: int, slice: int) const 🔗
Divide la stringa tramite un carattere Unicode con codice delimiter e restituisce la sottostringa all'indice slice. Restituisce una stringa vuota se la sezione all'indice slice non esiste.
Questo è più veloce di split(), se hai bisogno di una sola sottostringa.
Restituisce il valore di hash a 32 bit che rappresenta il contenuto della stringa.
Nota: Le stringhe con valori uguali di hash non sono garantite che siano identiche, a causa delle collisioni di hash. Al contrario, le stringhe con valori diversi di hash sono sicuramente diverse.
PackedByteArray hex_decode() const 🔗
Decodifica una stringa esadecimale come PackedByteArray.
var text = "hello world"
var encoded = text.to_utf8_buffer().hex_encode() # produce "68656c6c6f20776f726c64"
print(encoded.hex_decode().get_string_from_utf8())
var text = "hello world";
var encoded = text.ToUtf8Buffer().HexEncode(); // produce "68656c6c6f20776f726c64"
GD.Print(encoded.HexDecode().GetStringFromUtf8());
Converte la stringa che rappresenta un numero esadecimale in un int. La stringa può essere facoltativamente preceduta dal prefisso "0x" e da un prefisso aggiuntivo - per i numeri negativi.
print("0xff".hex_to_int()) # Stampa 255
print("ab".hex_to_int()) # Stampa 171
GD.Print("0xff".HexToInt()); // Stampa 255
GD.Print("ab".HexToInt()); // Stampa 171
String indent(prefix: String) const 🔗
Rientra ogni riga della stringa con il prefisso prefix specificato. Le righe vuote non sono rientrate. Vedi anche dedent() per rimuovere l'indentazione.
Ad esempio, la stringa può essere rientrata con due tabulazioni usando "\t\t", o quattro spazi usando " ".
String insert(position: int, what: String) const 🔗
Inserisce what nella posizione position nella stringa.
bool is_absolute_path() const 🔗
Restituisce true se la stringa è un percorso verso un file o una cartella e il suo punto di partenza è definito esplicitamente. Questo metodo è l'opposto di is_relative_path().
Ciò include tutti i percorsi che iniziano con "res://", "user://", "C:\", "/", ecc.
Restituisce true se la lunghezza della stringa è 0 (""). Vedi anche length().
bool is_relative_path() const 🔗
Restituisce true se la stringa è un percorso e il suo punto di partenza dipende dal contesto. Il percorso potrebbe iniziare dalla cartella attuale o dal Node attuale (se la stringa è derivata da un NodePath) e può talvolta essere preceduto da "./". Questo metodo è l'opposto di is_absolute_path().
bool is_subsequence_of(text: String) const 🔗
Restituisce true se è possibile trovare tutti i caratteri di questa stringa in text nel loro ordine originale. Questo non è lo stesso di contains().
var text = "Wow, incredible!"
print("inedible".is_subsequence_of(text)) # Stampa true
print("Word!".is_subsequence_of(text)) # Stampa true
print("Window".is_subsequence_of(text)) # Stampa false
print("".is_subsequence_of(text)) # Stampa true
bool is_subsequence_ofn(text: String) const 🔗
Restituisce true se è possibile trovare tutti i caratteri di questa stringa in text nel loro ordine originale, ignorando la distinzione tra le maiuscole e le minuscole. Questo non è lo stesso di containsn().
bool is_valid_ascii_identifier() const 🔗
Restituisce true se questa stringa è un identificatore ASCII valido. Un identificatore ASCII valido può contenere solo lettere, cifre e trattini bassi (_) e il primo carattere non può essere una cifra.
print("node_2d".is_valid_ascii_identifier()) # Stampa true
print("TYPE_FLOAT".is_valid_ascii_identifier()) # Stampa true
print("1st_method".is_valid_ascii_identifier()) # Stampa false
print("MyMethod#2".is_valid_ascii_identifier()) # Stampa false
Vedi anche is_valid_unicode_identifier().
bool is_valid_filename() const 🔗
Restituisce true se questa stringa è un nome di file valido. Un nome di file valido non può essere vuoto, iniziare o finire con caratteri di spazio, o contenere caratteri non consentiti (: / \ ? * " | % < >).
Restituisce true se questa stringa rappresenta un numero in virgola mobile valido. Un float valido può contenere solo cifre, un punto decimale (.) e la lettera esponente (e). Può anche essere preceduto da un segno positivo (+) o negativo (-). Qualsiasi intero valido è anche un float valido (vedi is_valid_int()). Vedi anche to_float().
print("1.7".is_valid_float()) # Stampa true
print("24".is_valid_float()) # Stampa true
print("7e3".is_valid_float()) # Stampa true
print("Hello".is_valid_float()) # Stampa false
bool is_valid_hex_number(with_prefix: bool = false) const 🔗
Restituisce true se questa stringa è un numero esadecimale valido. Un numero esadecimale valido contiene solo cifre o lettere da A a F (sia maiuscole sia minuscole) e può essere preceduto da un segno positivo (+) o negativo (-).
Se with_prefix è true, il numero esadecimale deve essere preceduto da "0x" per essere considerato valido.
print("A08E".is_valid_hex_number()) # Stampa true
print("-AbCdEf".is_valid_hex_number()) # Stampa true
print("2.5".is_valid_hex_number()) # Stampa false
print("0xDEADC0DE".is_valid_hex_number(true)) # Stampa true
bool is_valid_html_color() const 🔗
Restituisce true se questa stringa è un colore valido in notazione HTML esadecimale. La stringa deve essere un valore esadecimale (vedi is_valid_hex_number()) di 3, 4, 6 o 8 cifre e può essere preceduta da un cancelletto (#). Altre notazioni HTML per i colori, come nomi o hsl(), non sono considerate valide. Vedi anche Color.html().
bool is_valid_identifier() const 🔗
Deprecato: Use is_valid_ascii_identifier() instead.
Restituisce true se questa stringa è un identificatore valido. Un identificatore valido può contenere solo lettere, cifre e trattini bassi (_) e il primo carattere non può essere una cifra.
print("node_2d".is_valid_identifier()) # Prints true
print("TYPE_FLOAT".is_valid_identifier()) # Prints true
print("1st_method".is_valid_identifier()) # Prints false
print("MyMethod#2".is_valid_identifier()) # Prints false
Restituisce true se questa stringa rappresenta un numero intero valido. Un numero intero valido contiene solo cifre e può essere preceduto da un segno positivo (+) o negativo (-). Vedi anche to_int().
print("7".is_valid_int()) # Stampa true
print("1.65".is_valid_int()) # Stampa false
print("Hi".is_valid_int()) # Stampa false
print("+3".is_valid_int()) # Stampa true
print("-12".is_valid_int()) # Stampa true
bool is_valid_ip_address() const 🔗
Restituisce true se questa stringa rappresenta un indirizzo IPv4 o IPv6 ben formattato. Questo metodo considera validi gli indirizzi IP riservati come "0.0.0.0" e "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff".
bool is_valid_unicode_identifier() const 🔗
Restituisce true se questa stringa è un identificatore Unicode valido.
Un identificatore Unicode valido deve iniziare con un carattere Unicode di classe XID_Start o "_" e può contenere caratteri Unicode di classe XID_Continue nelle altre posizioni.
print("node_2d".is_valid_unicode_identifier()) # Stampa true
print("1st_method".is_valid_unicode_identifier()) # Stampa false
print("MyMethod#2".is_valid_unicode_identifier()) # Stampa false
print("állóképesség".is_valid_unicode_identifier()) # Stampa true
print("выносливость".is_valid_unicode_identifier()) # Stampa true
print("体力".is_valid_unicode_identifier()) # Stampa true
Vedi anche is_valid_ascii_identifier().
Nota: Questo metodo verifica gli identificatori allo stesso modo di GDScript. Vedi TextServer.is_valid_identifier() per verifiche più avanzate.
String join(parts: PackedStringArray) const 🔗
Restituisce la concatenazione degli elementi di parts, con ogni elemento separato dalla stringa che chiama questo metodo. Questo metodo è l'opposto di split().
var frutta = ["Mela", "Arancia", "Pera", "Kiwi"]
print(", ".join(frutta)) # Stampa "Mela, Arancia, Pera, Kiwi"
print("---".join(frutta)) # Stampa "Mela---Arancia---Pera---Kiwi"
string[] frutta = ["Mela", "Orange", "Pear", "Kiwi"];
// In C#, questo metodo è statico.
GD.Print(string.Join(", ", frutta)); // Stampa "Mela, Arancia, Pera, Kiwi"
GD.Print(string.Join("---", frutta)); // Stampa "Mela---Arancia---Pera---Kiwi"
Restituisce una copia della stringa con caratteri speciali sottoposti a escape attraverso lo standard JSON. Poiché corrisponde strettamente allo standard C, è possibile utilizzare c_unescape() per annullare l'escape della stringa, se necessario.
String left(length: int) const 🔗
Restituisce i primi length caratteri dall'inizio della stringa. Se length è negativo, rimuove gli ultimi length caratteri dalla fine della stringa.
print("Hello World!".left(3)) # Stampa "Hel"
print("Hello World!".left(-4)) # Stampa "Hello Wo"
Restituisce il numero di caratteri nella stringa. Le stringhe vuote ("") restituiscono sempre 0. Vedi anche is_empty().
String lpad(min_length: int, character: String = " ") const 🔗
Formatta la stringa in modo che sia lunga almeno min_length caratteri, aggiungendo più caratteri (character) a sinistra della stringa, se necessario. Vedi anche rpad().
String lstrip(chars: String) const 🔗
Rimuove un insieme di caratteri definiti in chars dall'inizio della stringa. Vedi anche rstrip().
Nota: chars non è un prefisso. Usa trim_prefix() per rimuovere un singolo prefisso, invece di insieme di caratteri.
bool match(expr: String) const 🔗
Esegue una corrispondenza di espressione semplice (chiamata anche "glob" o "globbing"), dove * corrisponde a zero o più caratteri arbitrari e ? corrisponde a qualsiasi singolo carattere tranne un punto (.). Una stringa vuota o un'espressione vuota viene sempre valutata come false.
bool matchn(expr: String) const 🔗
Esegue una corrispondenza di espressione semplice (chiamata anche "glob" o "globbing") senza distinzione tra le maiuscole e le minuscole, dove * corrisponde a zero o più caratteri arbitrari e ? corrisponde a qualsiasi singolo carattere tranne un punto (.). Una stringa vuota o un'espressione vuota viene sempre valutata come false.
PackedByteArray md5_buffer() const 🔗
Restituisce l'hash MD5 della stringa sotto forma di PackedByteArray.
Restituisce l'hash MD5 della stringa sotto forma di un altra String.
int naturalcasecmp_to(to: String) const 🔗
Esegue un confronto con distinzione tra maiuscole e minuscole e in ordine naturale con un'altra stringa. Restituisce -1 se minore di, 1 se maggiore di, o 0 se uguale. "Minore di" e "maggiore di" sono determinati dai punti di codice Unicode di ogni stringa, che corrispondono approssimativamente all'ordine alfabetico.
Quando viene utilizzato per l'ordinamento, il confronto con l'ordine naturale ordina sequenze di numeri in base al valore combinato di ciascuna cifra, come spesso previsto, anziché al valore della singola cifra. Una sequenza ordinata di stringhe numerate sarà ["1", "2", "3", ...], non ["1", "10", "2", "3", ...].
Con stringhe di lunghezze diverse, restituisce 1 se questa stringa è più lunga della stringa to, o -1 se più corta. Nota che la lunghezza delle stringhe vuote è sempre 0.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche naturalnocasecmp_to(), filecasecmp_to() e nocasecmp_to().
int naturalnocasecmp_to(to: String) const 🔗
Esegue un confronto senza distinzione tra maiuscole e minuscole e in ordine naturale con un'altra stringa. Restituisce -1 se minore di, 1 se maggiore di, o 0 se uguale. "Minore di" e "maggiore di" sono determinati dai punti di codice Unicode di ogni stringa, che corrispondono approssimativamente all'ordine alfabetico.
Quando viene utilizzato per l'ordinamento, il confronto con l'ordine naturale ordina sequenze di numeri in base al valore combinato di ciascuna cifra, come spesso previsto, anziché al valore della singola cifra. Una sequenza ordinata di stringhe numerate sarà ["1", "2", "3", ...], non ["1", "10", "2", "3", ...].
Con stringhe di lunghezze diverse, restituisce 1 se questa stringa è più lunga della stringa to, o -1 se più corta. Nota che la lunghezza delle stringhe vuote è sempre 0.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche naturalcasecmp_to(), filenocasecmp_to() e casecmp_to().
int nocasecmp_to(to: String) const 🔗
Esegue un confronto senza distinzione tra maiuscole e minuscole con un'altra stringa. Restituisce -1 se minore di, 1 se maggiore di, o 0 se uguale. "Minore di" e "maggiore di" sono determinati dai punti di codice Unicode di ogni stringa, che corrispondono approssimativamente all'ordine alfabetico.
Con stringhe di lunghezze diverse, restituisce 1 se questa stringa è più lunga della stringa to, o -1 se più corta. Nota che la lunghezza delle stringhe vuote è sempre 0.
Per ottenere un risultato bool da un confronto di stringhe, usa invece l'operatore ==. Vedi anche nocasecmp_to(), filecasecmp_to() e naturalcasecmp_to().
String pad_decimals(digits: int) const 🔗
Formatta la stringa che rappresenta un numero in modo che abbia un numero esatto di cifre (digits) dopo il punto decimale.
String pad_zeros(digits: int) const 🔗
Formatta la stringa che rappresenta un numero in modo che abbia un numero esatto di cifre (digits) prima del punto decimale.
String path_join(path: String) const 🔗
Concatena path alla fine della stringa come sotto-percorso, aggiungendo / se necessario.
Esempio: "this/is".path_join("path") == "this/is/path".
String remove_char(what: int) const 🔗
Rimuove tutte le occorrenze del carattere Unicode con il codice what. Versione più veloce di replace() quando la chiave è lunga un solo carattere e la sostituzione è "".
String remove_chars(chars: String) const 🔗
Removes all occurrences of the characters in chars. See also remove_char().
String repeat(count: int) const 🔗
Ripete questa stringa un certo numero di volte. count deve essere maggiore di 0. Altrimenti, restituisce una stringa vuota.
String replace(what: String, forwhat: String) const 🔗
Sostituisce tutte le occorrenze di what all'interno della stringa con il forwhat specificato.
String replace_char(key: int, with: int) const 🔗
Sostituisce tutte le occorrenze del carattere Unicode con codice key con il carattere Unicode con codice with. Versione più veloce di replace() quando la chiave è lunga un solo carattere. Per ottenere un singolo carattere, utilizzare "X".unicode_at(0) (si noti che alcune stringhe, come lettere composte ed emoji, possono essere composte da più codici Unicode e non funzioneranno con questo metodo; utilizzare length() per esserne sicuri).
String replace_chars(keys: String, with: int) const 🔗
Sostituisce qualsiasi occorrenza dei caratteri in keys con il carattere Unicode con codice with. Vedi anche replace_char().
String replacen(what: String, forwhat: String) const 🔗
Sostituisce tutte le occorrenze senza distinzione tra maiuscole e minuscole di what all'interno della stringa con il forwhat specificato.
Restituisce la copia di questa stringa in ordine inverso. Questa operazione funziona su codici Unicode, piuttosto che su sequenze di codici, e potrebbe spezzare elementi come lettere composte o emoji.
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 🔗
Restituisce l'indice dell'ultima occorrenza di what in questa stringa o -1 se non ce ne sono, senza distinzione tra maiuscole e minuscole. L'indice di ricerca di partenza può essere specificato con from, continuando fino all'inizio della stringa. Questo metodo è l'inverso di findn().
String right(length: int) const 🔗
Restituisce gli ultimi length caratteri dalla fine della stringa. Se length è negativo, rimuove i primi length caratteri dall'inizio della stringa.
print("Hello World!".right(3)) # Stampa "ld!"
print("Hello World!".right(-4)) # Stampa "o World!"
String rpad(min_length: int, character: String = " ") const 🔗
Formatta la stringa in modo che sia lunga almeno min_length caratteri, aggiungendo più caratteri (character) a destra della stringa, se necessario. Vedi anche lpad().
PackedStringArray rsplit(delimiter: String = "", allow_empty: bool = true, maxsplit: int = 0) const 🔗
Divide la stringa tramite un delimiter e restituisce un array delle sottostringhe, a partire dalla fine della stringa. Le suddivisioni nell'array restituito appaiono nello stesso ordine della stringa originale. Se delimiter è una stringa vuota, ogni sottostringa sarà un singolo carattere.
Se allow_empty è false, le stringhe vuote tra delimitatori adiacenti vengono escluse dall'array.
Se maxsplit è maggiore di 0, il numero di suddivisioni non può superare maxsplit. Come predefinito, l'intera stringa viene suddivisa, il che è maggiormente identico a split().
var some_string = "Uno,Due,Tre,Quattro"
var some_array = some_string.rsplit(",", true, 1)
print(some_array.size()) # Stampa 2
print(some_array[0]) # Stampa "Uno,Due,Tre"
print(some_array[1]) # Stampa "Quattro"
// In C#, non esiste il metodo String.RSplit().
String rstrip(chars: String) const 🔗
Rimuove un insieme di caratteri definiti in chars dalla fine della stringa. Vedi anche lstrip().
Nota: chars non è un suffisso. Usa trim_suffix() per rimuovere un singolo suffisso, invece di insieme di caratteri.
PackedByteArray sha1_buffer() const 🔗
Restituisce l'hash SHA-1 della stringa sotto forma di PackedByteArray.
Restituisce l'hash SHA-1 della stringa sotto forma di un altra String.
PackedByteArray sha256_buffer() const 🔗
Restituisce l'hash SHA-256 della stringa sotto forma di String.
Restituisce l'hash SHA-256 della stringa sotto forma di un altra String.
float similarity(text: String) const 🔗
Restituisce l'indice di similarità (indice di Sørensen-Dice) di questa stringa rispetto a un'altra. Un risultato di 1.0 significa totalmente simile, mentre 0.0 significa totalmente dissimile.
print("ABC123".similarity("ABC123")) # Stampa 1.0
print("ABC123".similarity("XYZ456")) # Stampa 0.0
print("ABC123".similarity("123ABC")) # Stampa 0.8
print("ABC123".similarity("abc123")) # Stampa 0.4
String simplify_path() const 🔗
Se la stringa è un percorso di file valido, converte la stringa in un percorso canonico. Questo è il percorso più breve possibile, senza "./" e tutti gli "." e "/" non necessari.
var percorso_semplice = "./path/to///../file".simplify_path()
print(percorso_semplice ) # Stampa "path/file"
PackedStringArray split(delimiter: String = "", allow_empty: bool = true, maxsplit: int = 0) const 🔗
Divide la stringa tramite un delimiter e restituisce un array delle sottostringhe. Se delimiter è una stringa vuota, ogni sottostringa sarà un singolo carattere. Questo metodo è l'opposto di join().
Se allow_empty è false, le stringhe vuote tra delimitatori adiacenti vengono escluse dall'array.
Se maxsplit è maggiore di 0, il numero di suddivisioni non può superare maxsplit. Come predefinito, l'intera stringa viene suddivisa.
var some_array = "Uno,Due,Tre,Quattro".split(",", true, 2)
print(some_array.size()) # Stampa 3
print(some_array[0]) # Stampa "Uno"
print(some_array[1]) # Stampa "Due"
print(some_array[2]) # Stampa "Tre,Quattro"
// La funzione `Split()` di C# non supporta il parametro `maxsplit`.
var someArray = "Uno,Due,Tre".Split(",");
GD.Print(someArray[0]); // Stampa "Uno"
GD.Print(someArray[1]); // Stampa "Due"
GD.Print(someArray[2]); // Stampa "Tre"
Nota: Se hai bisogno solo di una sottostringa dall'array, considera di usare get_slice() che è più veloce. Se hai bisogno di dividere stringhe con regole più complesse, usa invece la classe RegEx.
PackedFloat64Array split_floats(delimiter: String, allow_empty: bool = true) const 🔗
Divide la stringa in più float tramite un delimiter e restituisce un PackedFloat64Array.
Se allow_empty è false, le conversioni float vuote o non valide tra delimitatori adiacenti vengono escluse.
var a = "1,2,4.5".split_floats(",") # a è [1.0, 2.0, 4.5]
var c = "1| ||4.5".split_floats("|") # c è [1.0, 0.0, 0.0, 4.5]
var b = "1| ||4.5".split_floats("|", false) # b è [1.0, 4.5]
String strip_edges(left: bool = true, right: bool = true) const 🔗
Rimuove tutti i caratteri non stampabili dall'inizio e alla fine della stringa. Questi includono spazi, tabulazioni (\t) e nuove righe (\n \r).
Se left è false, ignora l'inizio della stringa. Allo stesso modo, se right è false, ignora la fine della stringa.
String strip_escapes() const 🔗
Rimuove tutti i caratteri di escape dalla stringa. Questi includono tutti i caratteri di controllo non stampabili della prima pagina della tabella ASCII (valori da 0 a 31), come i caratteri di tabulazione (\t) e di nuova riga (\n, \r), ma non gli spazi.
String substr(from: int, len: int = -1) const 🔗
Restituisce parte della stringa dalla posizione from con lunghezza len. Se len è -1 (come per impostazione predefinita), restituisce il resto della stringa a partire dalla posizione specificata.
PackedByteArray to_ascii_buffer() const 🔗
Converte la stringa in un PackedByteArray codificato in ASCII/Latin-1. Questo metodo è leggermente più veloce di to_utf8_buffer(), ma sostituisce tutti i caratteri non supportati con spazi. Questo è l'inverso di PackedByteArray.get_string_from_ascii().
String to_camel_case() const 🔗
Restituisce la stringa convertita in camelCase.
Converte la stringa che rappresenta un numero decimale in un float. Questo metodo si ferma sul primo carattere non numerico, eccetto il primo punto decimale (.) e la lettera di esponente (e). Vedi anche is_valid_float().
var a = "12.35".to_float() # a è 12.35
var b = "1.2.3".to_float() # b è 1.2
var c = "12xy3".to_float() # c è 12.0
var d = "1e3".to_float() # d è 1000.0
var e = "Hello!".to_float() # e è 0.0
Converte la stringa che rappresenta un numero intero in un int. Questo metodo rimuove qualsiasi carattere non numerico e si ferma al primo punto decimale (.). Vedi anche is_valid_int().
var a = "123".to_int() # a is 123
var b = "x1y2z3".to_int() # b is 123
var c = "-1.2.3".to_int() # c is -1
var d = "Hello!".to_int() # d is 0
String to_kebab_case() const 🔗
Restituisce la stringa convertita in kebab-case.
Nota: I numeri seguiti da una singola lettera non vengono separati nella conversione per mantenere insieme alcune parole (come "2D").
"Node2D".to_kebab_case() # Restituisce "node-2d"
"2nd place".to_kebab_case() # Restituisce "2-nd-place"
"Texture3DAssetFolder".to_kebab_case() # Restituisce "texture-3d-asset-folder"
"Node2D".ToKebabCase(); // Restituisce "node-2d"
"2nd place".ToKebabCase(); // Restituisce "2-nd-place"
"Texture3DAssetFolder".ToKebabCase(); // Restituisce "texture-3d-asset-folder"
Restituisce la stringa convertita in lowercase.
PackedByteArray to_multibyte_char_buffer(encoding: String = "") const 🔗
Converte la stringa in un PackedByteArray codificato con code page multibyte di sistema. Se la conversione fallisce, viene restituito un array vuoto.
I valori consentiti per encoding dipendono dal sistema. Se encoding è una stringa vuota, viene utilizzata la codifica predefinita del sistema.
Per Windows, consultare i nomi .NET per i Code Page Identifiers.
Per macOS e Linux/BSD, consultare la documentazione della libreria
libiconveiconv --listper un elenco delle codifiche supportate.
String to_pascal_case() const 🔗
Restituisce la stringa convertita in PascalCase.
String to_snake_case() const 🔗
Restituisce la stringa convertita in snake_case.
Nota: I numeri seguiti da una singola lettera non vengono separati nella conversione per mantenere insieme alcune parole (come "2D").
"Node2D".to_snake_case() # Restituisce "node_2d"
"2nd place".to_snake_case() # Restituisce "2_nd_place"
"Texture3DAssetFolder".to_snake_case() # Restituisce "texture_3d_asset_folder"
"Node2D".ToSnakeCase(); // Restituisce "node_2d"
"2nd place".ToSnakeCase(); // Restituisce "2_nd_place"
"Texture3DAssetFolder".ToSnakeCase(); // Restituisce "texture_3d_asset_folder"
Restituisce la stringa convertita in UPPERCASE.
PackedByteArray to_utf8_buffer() const 🔗
Converte la stringa in un PackedByteArray codificato in UTF-8. Questo metodo è leggermente più lento di to_ascii_buffer(), ma supporta tutti i caratteri UTF-8. Nella maggior parte dei casi, è preferibile usare questo metodo. Questo è l'inverso di PackedByteArray.get_string_from_utf8().
PackedByteArray to_utf16_buffer() const 🔗
Converte la stringa in un PackedByteArray codificato in UTF-16. Questo è l'inverso di PackedByteArray.get_string_from_utf16().
PackedByteArray to_utf32_buffer() const 🔗
Converte la stringa in un PackedByteArray codificato in UTF-32. Questo è l'inverso di PackedByteArray.get_string_from_utf32().
PackedByteArray to_wchar_buffer() const 🔗
Converte la stringa in un PackedByteArray codificato in carattere largo (wchar_t, UTF-16 su Windows, UTF-32 su altre piattaforme). Questo è l'inverso di PackedByteArray.get_string_from_wchar().
String trim_prefix(prefix: String) const 🔗
Rimuove il prefisso prefix dall'inizio della stringa o restituisce la stringa invariata.
String trim_suffix(suffix: String) const 🔗
Rimuove il suffisso suffix dalla fine della stringa o restituisce la stringa invariata.
int unicode_at(at: int) const 🔗
Restituisce il codice carattere alla posizione at.
Vedi anche String.chr(), @GDScript.char() e @GDScript.ord().
Decodifica la stringa dal suo formato codificato in URL. Questo metodo è pensato per decodificare correttamente i parametri in un URL quando si riceve una richiesta HTTP. Vedi anche uri_encode().
var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
print(url.uri_decode()) # Stampa "$DOCS_URL/?highlight=Godot Engine:docs"
var url = "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
GD.Print(url.URIDecode()) // Stampa "$DOCS_URL/?highlight=Godot Engine:docs"
Nota: Questo metodo decodifica + come spazio.
Codifica la stringa in un formato compatibile con URL. Questo metodo è pensato per codificare correttamente i parametri in un URL quando si invia una richiesta HTTP. Vedi anche uri_decode().
var prefix = "$DOCS_URL/?highlight="
var url = prefix + "Godot Engine:docs".uri_encode()
print(url) # Stampa "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
var prefix = "$DOCS_URL/?highlight=";
var url = prefix + "Godot Engine:docs".URIEncode();
GD.Print(url); // Stampa "$DOCS_URL/?highlight=Godot%20Engine%3%docs"
String uri_file_decode() const 🔗
Decodifica il percorso di file dal suo formato codificato URL. A differenza di uri_decode(), questo metodo lascia + invariati.
String validate_filename() const 🔗
Restituisce una copia della stringa in cui tutti i caratteri non consentiti in is_valid_filename() vengono sostituiti con trattini bassi.
String validate_node_name() const 🔗
Restituisce una copia della stringa con tutti i caratteri non consentiti in Node.name (. : @ / " %) sostituiti con trattini bassi.
String xml_escape(escape_quotes: bool = false) const 🔗
Restituisce una copia della stringa con caratteri speciali sottoposti a escape attraverso lo standard XML. Se escape_quotes è true, anche i caratteri di virgolette singole (') e virgolette doppie (") vengono sottoposti a escape.
Restituisce una copia della stringa con i caratteri di escape sostituiti dai rispettivi significati, seguendo lo standard XML.
Descrizioni degli operatori
bool operator !=(right: String) 🔗
Restituisce true se questo StringName non è equivalente alla String fornita.
bool operator !=(right: StringName) 🔗
Restituisce true se StringName e right non si riferiscono allo stesso nome. I confronti tra StringName sono molto più rapidi dei comuni confronti tra String.
String operator %(right: Variant) 🔗
Formatta lo StringName, sostituendo i segnaposto con uno o più parametri. Per passare più parametri, right deve essere un Array.
Per ulteriori informazioni, consulta il tutorial Formattazione di stringhe in GDScript.
Nota: in C#, questo operatore non è disponibile. Invece, consulta come interpolare le stringhe con "$".
String operator +(right: String) 🔗
Accoda right alla fine di questo StringName, restituendo una String. Questo è noto anche come concatenazione di stringhe.
String operator +(right: StringName) 🔗
Accoda right alla fine di questo StringName, restituendo una String. Questo è noto anche come concatenazione di stringhe.
bool operator <(right: StringName) 🔗
Restituisce true se il puntatore di StringName a sinistra precede quello di right. Nota che questo non corrisponderà al loro ordine Unicode.
bool operator <=(right: StringName) 🔗
Restituisce true se il puntatore di StringName a sinistra precede quello di right, o se sono uguali. Nota che questo non corrisponderà al loro ordine Unicode.
bool operator ==(right: String) 🔗
Restituisce true se questo StringName è equivalente alla String fornita.
bool operator ==(right: StringName) 🔗
Restituisce true se StringName e right si riferiscono allo stesso nome. I confronti tra StringName sono molto più rapidi dei comuni confronti tra String.
bool operator >(right: StringName) 🔗
Restituisce true se il puntatore di StringName a sinistra viene dopo quello di right. Nota che questo non corrisponderà al loro ordine Unicode.
bool operator >=(right: StringName) 🔗
Restituisce true se il puntatore di StringName a sinistra viene dopo quello di right, o se sono uguali. Nota che questo non corrisponderà al loro ordine Unicode.