Frage:Antwort : "Frage" und "Antwort" in Variablen packen?

  • Hey erstmal

    Ich hab hier jetzt eine kleine Liste..

    Code
    Frage:AntwortFrage:AntwortFrage:AntwortFrage:AntwortFrage:AntwortFrage:AntwortFrage:Antwort


    usw..
    Wie kann ich die 2 unterscheiden? Also sodass zB. "Frage" in die Variable $1 kommt und "Antwort" in die Variable $2
    Gibt es irgendeine Möglichkeit? Ich bin grad am verzweifeln

    Einmal editiert, zuletzt von Louso1 (18. Dezember 2011 um 11:40)

  • Benutz stringsplit um die Daten in ein Array zu schreiben. Bei Bedarf kann das dann auch in ein 2-Dimensionales Array gewandelt werden, ist aber bei dir nicht wirklich notwendig. Ausserdem sollten natürlich alle Fragen und Antworten eindeutig durch ein Trennzeichen getrennt sein, also so:

    Code
    Frage:Antwort:Frage:Antwort
  • Oh, im Code war ein Fehler..
    Es ist so aufgebaut:
    Frage:Antwort
    Frage:Antwort
    Frage:Antwort

    So in mehreren zeilen

  • [autoit]

    #include <Array.au3>
    #include <File.au3>
    Global $sPath = "DeineDatei.txt"
    $iLines = _FileCountLines ($sPath)
    Global $aArray[$iLines][2]
    For $i = 0 To $iLines Step + 1
    $sLine = FileReadLine ($sPath, $i)
    $aSplit = StringSplit ($sLine, ":", 1)
    $aArray[$i][0] = $aSplit[1] ; Frage
    $aArray[$i][1] = $aSplit[2] ; Antwort
    Next
    _ArrayDisplay ($aArray)

    [/autoit]

    Somit werden die Fragen in $aArray[n][0] und die Antworten in $aArray[n][1] geschrieben.

  • Versuch es mal mit dem Regex

    Code
    ^(.*?):(.*?)$

    Da dürftest du eigentlich ein 2D-Array bekommen, mit dem du weiterarbeiten kannst.

    Edit: Da war ich wohl zu spät ^^

  • Danke, genau das hab ich gebraucht