String in Array übergeben jeden Buchstaben einzeln

  • Hallo,

    Ich würde gerne den Inhalt einer Variablen in ein Array übergeben.
    Und zwar jedes Zeichen einzeln, egal ob Zahl oder Buchstaben oder Leerzeichen.

    Habe schon viel gelesen, daß es mit RegEx gehen könnte, nur steh ich da mit dem "pattern" voll am Schlauch.
    Mit String split habe ich es auch schon probiert, aber das braucht wieder einen "delimiter" welchen ich ja gar nicht habe in meiner String Variable.

    Außerdem muss das Array noch genau so groß sein wie die Variable Buchstaben hat. Ich bin mir sicher es ist super einfach. Nur fehlt mir noch der Überblick.

    Bin für jede kleine Hilfe dankbar.

  • Hallo!

    Im RegEx matched der einfache "." jedes x-beliebige einzelne Zeichen.
    Im RegEx gibt man über den dritten Parameter an, wie man das Ergebnis gerne hätte.

    Steht beides in der Hilfe und in jedem Tutorial. Wenn du die nicht verstanden hast, solltest du deine Fragen ausführlicher formulieren. Solltest du sie schlicht nicht gelesen haben, solltest du das nachholen: StringRegExp ist eine sehr nützliche Funktion. ;)

    Code
    $sValue = "Dies ist ein Texttesttext"
    $aChars = StringRegExp($sValue, ".", 3)

    Ergebnis:
    [0] = D
    [1] = i
    [2] = e
    [3] = s
    [4] =
    [5] = i
    [6] = s
    [7] = t
    [8] =
    [9] = e
    [10] = i
    [11] = n
    [12] =
    [13] = T
    [14] = e
    [15] = x
    [16] = t
    [17] = t
    [18] = e
    [19] = s
    [20] = t
    [21] = t
    [22] = e
    [23] = x
    [24] = t

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Okay,

    Toll, nach stundenlangem probieren öffnet man einen thread, und dann, 10 Minuten später hat man die eigene Lösung....

    AutoIt
    Local $str = "Hello World"
    Local $res = _StringExplode($str, "", 0)
    _ArrayDisplay($res)

    Naja, vielleicht hilfts ja jemanden.

    Einmal editiert, zuletzt von Blaxxun (3. März 2016 um 14:25)

  • Hallo Bioshade,

    Danke für deine Antwort. Ich verstehe nicht was in meiner Ausführung unverständlich formuliert ist.

    Was ich hier in diesem Forum ANDAUERND lese ist "RTFM" = Read the fucking manual.
    Würden sich die erfahrenen Leute sich das einfach sparen wäre das für Neuankommlinge sicher eine angenehmere Atmosphäre.
    Wenn jemand gar nicht weiß wo er anfangen soll zu suchen und nach 3 Stunden mal jemanden fragt bekommt man nur RTFM ins Gesicht gedroschen.
    Ich hasse das.

    Ich komme aus dem Bereich 3D Modeling und VFX und ich habe ganze Bücher an Text geschrieben um Neulingen zu helfen. Und NIEMALS habe ich mit erhobenen Zeigefinger gesagt RTFM.

    Wozu ist denn so ein Forum gut wenn sowieso alles in der Hilfe steht???

    Es kümmert mich nicht dass ich mir hier gleich zu Beginn Feinde mache. Es gibt auch andere Foren.
    Ach ja und alte treads ausgraben darf man hier ja auch nicht. Und Maul aufmachen darf man auch nur wenn man ein Profi ist.

    Spart euch doch bitte diese Arroganz und helft halt nicht wenn ihr nicht helfen wollt. Aber verschont mich mit RTFM.

  • Nur der Vollständigkeit halber, es funktioniert natürlich auch mit StringSplit:

    Code
    #include <Array.au3>
    
    
    $sValue = "Dies ist ein Texttesttext"
    $aChars = StringSplit($sValue, "", 2)
    _ArrayDisplay($aChars)

    in diesem Fall ist der Delimiter ein Leerstring:

    Zitat von Dt. Hilfeübersetzung


    Bemerkungen
    Wird als Tennzeichen ein Leerstring "" angegeben, so wird jedes Zeichen des Strings im Array als Element zurückgegeben.

    die Hilfe sollte schon gelesen werden, denn wer sein Werkzeug nicht kennt kann es nicht einsetzen. _StringExplode verwendet auch StringSplit ist sozusagen _StringSpliteEx.
    Es ist keine Schande wenn man eine Funktion nicht auf die Reihe bekommt, denn viele Wege führen zum Ziel.


    Wozu ist denn so ein Forum gut wenn sowieso alles in der Hilfe steht???

    In der Hilfe steht eben nicht alles, die Programmlogik (und das Zusammenarbeiten der verschiedenen Funktionen) muss man sich erst noch erarbeiten bzw. erfragen.

    Einmal editiert, zuletzt von autoBert (3. März 2016 um 14:54)

  • Hi,
    meine Frage ist, wieso jemand ein Array von einzelnen Buchstaben benötigt, wenn doch schon ein String ein Array IST!
    Jedes Item im String kann man einfachst über seinen Index ansprechen...StringMid().
    Strings bearbeitet man idR. mit Stringfunktionen, denn dafür sind die gemacht.
    Es handelt sich imho also um das klassische X-Y-Problem (Link dazu in meiner Signatur)

    denn wer sein Werkzeug nicht kennt kann es nicht einsetzen

    FullAck!!! Besser kann man es nicht beschreiben...
    Es ist auch nicht problematisch, ein Werkzeug nicht zu kennen, problematisch ist, ein Problem nicht beschreiben zu können!


    Ich komme aus dem Bereich 3D Modeling und VFX und ich habe ganze Bücher an Text geschrieben um Neulingen zu helfen.

    Wenn das so wäre, dann hättest du zumindest Grundlagen im Verwenden von Nachschlagewerken. Du beherrscht aber nicht einmal die Grundlage des einfachen Verstehens von Hilfstexten, siehe:

    Mit String split habe ich es auch schon probiert, aber das braucht wieder einen "delimiter" welchen ich ja gar nicht habe in meiner String Variable.

    In der Hilfe ist die Verwendung von Leerstrings als Delimiter beschrieben...


    Ich vermute einen Zweit/Mehrfachaccount, das ist in letzter Zeit (nicht nur hier im Forum) sehr im Mode gekommen. Wenn man mit bestimmten (An-) Forderungen bei den "Profis" nicht weiterkommt (du hast dich mit den Aussagen in diesem Thread von sämtlichen "Profis" distanziert) , dann versucht man den "zweiten Bildungsweg". Irgendwer wird sich immer erbarmen, einem den "Arm aus der Sonne zu legen"...

  • Fahr mal einen Gang runter. In meinem Beitrag steht weder RTFM, noch steht da keine Hilfestellung.

    Über 90% meines Beitrags sind rein auf deine Frage bezogen und reine Hilfestellung. Die letzten 10% sind lediglich ein freundlich formulierter Tipp, dass du das auch hättest in der Hilfe und in jedem Anfängertutorial hättest nachlesen können. Und dass falls du das nicht gemacht hast, dass ich dir nahelegen würde, das zu tun, da diese Funktion eben sehr mächtig ist, und in allen Programmiersprachen benötigt wird. Auch sagte ich, dass du die Frage weiter ausformulieren solltest, wenn du diese Werke eben bereits gelesen hast, sie allerdings nicht verstanden hast.

    Nach dem nächsten Beitrag deinerseits, der Leuten, die dir freundlich helfen dermaßen beleidigt, begrüße ich dich im Club AutoMit - dem Club für alle, die selbst nach dreifachen Bitten von mir auch keine einzeilige Hilfestellung mehr bekommen, denn keiner hier wird dafür bezahlt DIR eine Hilfestellung zu geben - genau genommen wird hier niemand dafür bezahlt IRGENDWEM eine Hilfestellung zu geben. Das machen hier alle freiwillig und gerne. Und warum Club AutoMit? Weil dein Schreibstil, deine herablassende Art und die Art, wie du Leute beleidigst, die dir helfen wollten exakt identisch ist. Vergleich dazu im OffTopic.

    Es gibt Tage, da trete ich nicht ins Fettnäpfchen. Ich falle in die Friteuse.

  • Lieber Andy,

    Ich habe mich nicht von Profis distanziert sonder mich absichtlich von ALLEN Leuten distanziert die die Frechheit besitzen Neulinge von oben herab zu behandeln
    mit den immer gleichen bescheuerten Aussagen.

    Ein Profi würde sich definitiv nicht so herablassend verhalten.
    Klar kenne ich die Werkzeuge nicht. Würde ich sonst fragen? Wohl kaum.

    Alleine die Behauptung ich wüßte nicht wie man in Nachschlagewerken nachließt ist an sich schon eine Frechheit.
    Das Problem ist aber daß, wenn man nicht die volle Übersicht hat, einfach nicht wissen KANN WO man nachsehen muss.

    Du nennst mich offen einen Lügner und kennst mich gar nicht. Würde ich direkt vor dir stehen würdest du mir das sicher nicht ins Gesicht sagen.
    Und so jemand zitiert einen Spruch von Klaus Kinski.

    Außerdem unterstellst du mir ein "faules Schwein" zu sein daß sich von allen bedienen läßt. Weißt du wie viele Wochen, Tage und Nächte ich hier sitze und AutoIt lerne?
    Ich denke nicht.

    Und dieses bescheuerte Zeilenweise zerpflücken von einzelnen Kommentaren ist eindeutig ein Zeichen für systematische Runtermache der feinsten Art.

    Immer schön das eigene Ego aufpolieren und andere runtermachen. Und was?? Einen Zweit Account? Es wird immer besser mit den Unterstellungen.

    Wenn man hier um einfachste!! Hilfe fragt wird man systematisch zur Sau gemacht.

    Tolles Forum, voll mit "Profis" die absolut keine Etikette kennen.

    Wenn ICH jemanden Helfen will, dann tu ich das einfach ohne blöde Anmerkungen. Oder ich lass es ganz. So einfach ist das.
    Und ich bin mir sicher dass jeder hier auch irgendwann mal klein angefangen hat und Fragen gehabt hat.

    Unglaublich...

  • Welchen Gang runter @Bioshade?
    Ich sagte lediglich verweist nicht ANDAUERND aufs Handbuch.
    Und das hast du ja offensichtlich getan,oder nicht?
    Helft einem freundlich oder lasst es bleiben.

    Anscheinend gibt es hier Leute die gerne streiten.
    Ich werde mich deshalb von hier verabschieden.

    Vielen Dank an jene die mir geholfen haben.
    :)