ich habe einen String, welcher immer verschiedenen Text enthält. Der String soll den jeweiligen Text aber Buchstaben für Buchstaben (resp. Zeichen für Zeichen) mit einem Leerzeichen trennen. Beispiel:
MEIN TEXT (String)
M E I N T E X T (Ausgabe)
Ich stehe da gerade etwas auf dem Schlauch, wie ich das in Xojo umsetzen kann.
Splitte den Text mit der Split-Funktion in ein Array. Dann ein Loop über das Array:
for currentCharacter = 0 to StringArray.lastIndex
if StringArray(currentCharacter) <> "" then StringArray(currentCharacter) = StringArray(currentCharacter) + ""
next
Und am Schluß backst Du das Array wieder zusammen zu einem String.
Okay, so werde ich es versuchen, vielen Dank.
In einer anderen Entwicklungsumgebung habe ich das wie folgt gelöst (funktioniert allerdings nicht bei Xojo):
Private strOld As String = Label1.text
Private strNew As String
Private i As Int
For i = 0 To strOld.Length - 1
strNew = strNew & strOld.CharAt(i)
If i < strOld.Length - 1 Then
strNew = strNew & " "
End If
Next
Um Unicode-save zu sein, würde ich vorschlagen den Characters Iterator zu verwenden, da beim splitten eventuell enthaltene zusammengesetzte Zeichen (Emojis, Schriftzeichen) fehlerhafte Ausgaben produzieren könnten.
Var eingabe As String = "Hallo Welt 👋🏻"
Var ausgabe As String
Var zeichen() As String
For Each einzelZeichen As String In eingabe.Characters
zeichen.Add(einzelZeichen)
Next
ausgabe = String.FromArray(zeichen, " ")