kostenloser Webspace werbefrei: lima-city


AutoIT Array zerlegen

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Aloha,

    ich hab da mal ein Problem :)

    Func processLines($file)
    	Local $array
    	_FileReadToArray($file, $array)
    	_ArrayDisplay($array)
    EndFunc


    $array:

    $array[1] = "Polizei";1;1;0;
    $array[2] = "Feuerwehr";1;1;2;
    $array[3] = "Max Mustermann";1;2;3


    Damit kann ich die Zeilen einer Textdatei auslesen und ausgeben. Jedoch muss das Ganze etwas erweitert werden und zwar möchte ich nun aus jeder Zeile das Semikolon raussplitten und dann ein neues Array bilden:

    $array2[1] = "1 1 0"
    $array2[2] = "1 1 2"
    $array2[2] = "1 2 3"


    Jemand eine Idee, wie ich das bewerkstelligen kann? Die Anzahl der Nummern ist übrigens gleichbleibend 3.

    Beitrag zuletzt geändert: 14.5.2011 9:23:32 von fabo
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hallo fabo,

    hier eine Lösung mit einem 2D Array als Resultat:
    #include <array.au3>
    
    ;von hier 
    Local $array[4]
    $array[0] = 3
    $array[1] = "Polizei;1;1;0;"
    $array[2] = "Feuerwehr;1;1;2;"
    $array[3] = "Max Mustermann;1;2;3"
    ;bis hier Arraydefiniton die du ja _FileReadToArray bekommst 
    
    Local $aTelefon[$array[0]+1][2]		;2D Array erstellen ab hier übernehmen
    for $i = 1 to $array[0]
    	$aItem = StringSplit($array[$i],";")
    	$aTelefon[$i][0] &= $aItem[1]
    	for $j = 2 to $aItem[0]
    		$aTelefon[$i][1] &= $aItem[$j]
    	Next
    Next
    $aTelefon[0][0] = $array[0]
    $array = 0
    _ArrayDisplay($aTelefon)
  4. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Perfekt! Jetzt hab ich aber noch ein Problem :D Folgender String:

    "Max Mustermann";1;2;3;530


    Ich hab mich nämlich etwas vertan. Beim o.g. String sollen die Zahlen

    1 2 3


    extrahiert werden, die 4. Zahl soll komplett ignoriert werden und im Array nicht auftauchen: Der String muss also gekürzt werden bzw. die Anzahl der zu extrahierenden Elemente.

    Geht das? Auf jeden Fall danke schonmal für die gepostete Lösung.
  5. Hallo fabo,

    einfach diese Zeile
    for $j = 2 to $aItem[0]

    so abändern
    for $j = 2 to 4
  6. Autor dieses Themas

    fabo

    fabo hat kostenlosen Webspace.

    Klasse. Herzlichen Dank :)

    Beitrag zuletzt geändert: 14.5.2011 9:53:41 von fabo
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!