Zeichenkette teilen vor + oder -

Dieses Thema Zeichenkette teilen vor + oder - im Forum "Windows XP Forum" wurde erstellt von Foradil1, 17. Aug. 2007.

Thema: Zeichenkette teilen vor + oder - Moin, hab schon mehrere Funktionen ausprobiert aber noch kein brauchbares Ergebnis gefunden. Mein Problem ist...

  1. Moin, hab schon mehrere Funktionen ausprobiert aber noch kein brauchbares Ergebnis gefunden.
    Mein Problem ist folgendes:

    Ich habe eine Datei die viele Maschinenbefehle und die dazugehörigen Kettenmaße enthält. Diese lade ich per file(dateixyz) in ein Array. So weit so gut. Nun möchte ich jede Zeile einzeln auswerten und dazu ist es nötig, daß ich die Koordinatenmaße (Kettenmaße) in Absolute Koordinatenmaße umrechne.
    Mein Problem ist dabei, daß ich eine Zeichenkette wie +1234+5323 nicht geteilt kriege in 2 einzelne Werte. In diesem Falle wäre es ja noch einfach, aber mein Array-Wert kann folgende Aussehen haben:

    +12345-53342
    (der erste Wert ist die X-Achse, der zweite wert ist die Y-Achse. Beide können sowohl positiv als auch Negativ sein!)

    eine weitere möglichkeit kann noch auftreten:
    -12345+23235+435-234
    in diesem Falle wird ein Kreis(bogen) gezeichnet. der erste Wert ist wieder x, der zweite y, der dritte gibt den radius an und der vierte wert den Winkel. (alle können sowohl positiv als auch negativ sein!)

    Wie gesagt, um die zeichen- bzw Schnittlänge zu berechnen muß ich erstmal die möglichkeit haben, diese Zeichenkette in x=-12345, y=23235, r=435 und w=-234 umzuwandeln.

    hier nochmal ein kleiner Teil der zu analysierenden Datei:

    +20-47
    +39-92
    +195-460
    +196-460
    +4772-11243
    +1464+622
    +668-271+199-470-
    +1315-3096
    +474-46+195-461-
    +221-422-279-415-
    +882-12
    +2039-23
    +2039-23
    +3391-41
    +848-8
    +848-7
    +848-5
    +848-2
    +848+1
    +840+3
    +1352+4
    +1353+0
    +1352-2
    +1352+0
    +1353+1
    +1025+3
    +1026+6
     
  2. Gibt bestimmt noch nen eleganteren weg, aber auf die Schnelle fällt mir nix ein ;)

    Code:
    <?php
    $array = array(+20-47,
            +1315-3096,
    		+1464+622,
    		+221-422-279-415-,
    		+1353+1,
    		+221-422-279-415-,
    		+1464+622);
    
    $arr_search = array(@\+@,@-@);
    $arr_replace = array(;+, ;-);
    
    for($i = 0; $i < count($array); $i++) {
    	# aus + wird ;+ aus - wird ;-
    	$array[$i] = preg_replace($arr_search, $arr_replace, $array[$i]);
    	# jetzt splitten wir bei ;
    	$part = explode(;, $array[$i]);
    	# $part[0] ist leer, also weg damit
    	array_shift($part);
    	# Tjo, und so siehts aus ;-)
    	echo <br />Array[$i]<br /><pre>;
    	print_r($part);
    	echo </pre>;
    }
    ?>
    
    Ich verstehe allerdings nicht was in deinem Beispiel teilweise die - hinten drann sollen ;)
     
  3. hmm, vielen dank erstmal! auf diese idee bin ich noch gar nicht gekommen!

    das - hinten dran.. nun, ich muß am montag mal in das handbuch schauen, was dieser maschinencode zu bedeuten hat, dann kan nich dir das genau sagen ^^
     
Die Seite wird geladen...

Zeichenkette teilen vor + oder - - Ähnliche Themen

Forum Datum
Zeichenkette verkehrt herum wiedergeben via Batch Windows XP Forum 29. März 2009
Php: RegExp - Zeichenkette mit Zahlen finden Windows XP Forum 8. März 2009
Image auf mehrere Rechner verteilen Windows 7 Forum 9. März 2015
Sound auf zwei Ausgaben aufteilen Windows 7 Forum 25. Jan. 2014
Acer Noteboook Festplatte aufteilen und Win 7 neu installieren Windows 7 Forum 16. Feb. 2010