godot 4: "" aus array entfernen?
var welt -> Ausgabe: "Hello World", "Hello World2"
nun der versuch -> str(welt).strip_edges("")
Das geht nicht.
Meine Wunschausgabe: Hello World, Hello World2
2 Antworten
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Array oder String oder was?
Strips all non-printable characters from the beginning and the end of the string. (...)
https://docs.godotengine.org/en/stable/classes/class_string.html#class-string-method-strip-edges
Anführungszeichen sind ja ganz offensichtlich printable. Schau dir z.B. rstrip() und lstrip() an.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
Das geht irgendwie nicht. Ich kann da nur die Buchstaben löschen.
Ich mache ziemlich viel über variablen weil ich nicht so gut bin und über gdscript.
Ich will wie gesagt dieses " Zeichen entfernen
wenn ich z.b. habe
var a = "Hallo Welt"
und ich dann als output will:
Hallo Welt
liegt es dann an der Darstellung muss
ich print(float(a))
oder print(str(a))
oder etwas ähnliches machen.
Das Problem ist, das es immer innerhalb der " " die Buchstaben löscht.
wenn ich will:
if area.name in Global.House:
mach irgendwas
Global.House = ["Tisch", "Stuhl"]
problem jetzt ist, habe ich über print herausgefunden:
area.name = Tisch
Global.House = "Tisch"
also passiert nichts
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Um die Anführungszeichen aus deinem Array zu entfernen und die Elemente als String auszugeben, kannst du eine Funktion erstellen, die durch das Array iteriert, jedes Element in einen String konvertiert und die Ergebnisse zusammenfügt. Hier ist ein Beispiel, wie du das machen könntest:
func array_to_string(arr: Array) -> String:
var s = ""
for i in arr:
s += str(i).replace("\"", "") + ", "
return s.strip_edges(", ")
In dieser Funktion wird die `replace()` Methode verwendet, um die Anführungszeichen zu entfernen, und `strip_edges()` um das letzte Komma und Leerzeichen zu entfernen. Du kannst diese Funktion dann wie folgt aufrufen:
var welt = ["Hello World", "Hello World2"]
print(array_to_string(welt)) # Ausgabe: Hello World, Hello World2
Diese Methode entfernt alle Anführungszeichen in den Elementen des Arrays und gibt die Elemente als durch Kommas getrennten String aus.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
var areas = ["Haus", "Dachboden"] sollte es hier heißen, ein Fehler
Ich habe nach einer anderen Lösung nun gesucht, da ich das was du geschrieben hast nicht so 100%ig verstehe.
area entered (area):
var areaname = "\"" + area.name + "\""
var areas = ["Haus", Dachboden]
if areaname in areas:
do ..
ich habe die print ausgabe genutzt.
Wenn man die Haus area entered schreibt es:
"Haus"
bei den areas:
["Haus", "Dachboden"]
selbst wenn ich nur eine var Gebaeude habe und kein array wo nur "Haus" drinnen steht ist die Ausgabe:
print(areaname)
print(Gebaeude)
Die Ausgabe ist ident, wenn ich aber gucke ob areaname in Gebaeude ist, macht es nichts