Hilfe StringBetween

09/09/2014 00:18 emil#1
Hallo, ist wer so nett :cool: und könnte mir bitte bei StringBetween Helfen ?

und zwar möchte ich aus nachfolgender Zeile alle einzelnen Werte in einer Tabelle abrufen können oder angezeigt bekommen mit _ArrayDisplay.

so sieht die Zeile aus: daten=260540193;1;4494;affenspiele.xy;0;0;30;100;0 ;0;0;0;0;0;1;1;Emilio;ok;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;

Das es dann so ausschaut:

0 | 260540193
1 | 1
2 | 4494
3 | affenspiele.xy
4 | 0


und so weiter immer den werte vor den komma.
Die Zahlen oder Buchstaben können aber Unterschiedlich viele stellen haben.
Ich bekomm das leider nur hin, das er mir den ersten Wert ausgibt (260540193) wenn ich mehr versuche gibt er Fehler aus oder macht nichts mehr.
$hash = StringRegExp($quellcode, " ?????? ",3)
Wäre sehr Nett wenn jemand bitte Helfen würde, ich sag schonmal Danke im vorraus.

vg emilio
09/09/2014 00:27 YatoDev#2
stringsplit oder die _StringBetween funktion
09/09/2014 01:19 alpines#3
Code:
#include <Array.au3>

$a = StringSplit($sData, ";", 2)
If UBound($a) Then
	$a[0] = StringTrimLeft($a[0], 6)
	_ArrayDisplay($a)
EndIf
09/09/2014 09:02 emil#4
Quote:
Originally Posted by alpines View Post
Code:
#include <Array.au3>

$a = StringSplit($sData, ";", 2)
If UBound($a) Then
	$a[0] = StringTrimLeft($a[0], 6)
	_ArrayDisplay($a)
EndIf


Danke alpines Perfekt :D
09/09/2014 15:12 FacePalmMan#5
oder so:
Code:
#include <Array.au3>

$a = StringSplit(StringSplit($sData,"=")[2], ";", 2)
If UBound($a) Then
	_ArrayDisplay($a)
EndIf
09/09/2014 16:18 alpines#6
Quote:
Originally Posted by FacePalmMan View Post
oder so:
Code:
#include <Array.au3>

$a = StringSplit(StringSplit($sData,"=")[2], ";", 2)
If UBound($a) Then
	_ArrayDisplay($a)
EndIf
Das kann crashen, es wird nicht abgefragt ob der Return vom StringSplit ein Array mit >= 3 Indices ist.
Außerdem brauchst du dafür noch die 3.3.10.2 oder 3.3.12.0 oder eine Beta dazwischen. Die 3.3.8.1 (die viele noch verwenden) verarbeitet so etwas nicht.