Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

Re: ExtractStrings ohne Ausnahmen in ""

  Alt 8. Mär 2009, 20:49
OK, hab grad nochmal nachgesehn ... D7 hat diese Funktion noch nicht, wurde also doch erst später eingeführt

hier wird erstmal nur das ' ' als Trennzeichen verwendet und wenn ein Teil mit " anfängt, dann bleibt er zusammen...
Delphi-Quellcode:
Function ExplodeEx(Const S: String): TStringDynArray;
  Var i, i2: Integer;

  Begin
    Result := nil;
    i := 1;
    While i <= Length(S) do Begin
      If S[i] = '"Then Begin
        Inc(i);
        i2 := PosEx('"', S, i);
      End Else i2 := PosEx(' ', S, i + 1);
      If i2 = 0 Then i2 := Length(S) + 1;
      SetLength(Result, Length(Result) + 1);
      Result[High(Result)] := Copy(S, i, i2 - i);
      If (i2 < Length(S)) and (S[i2] = '"') and (S[i2 + 1] = ' ') Then Inc(i2);
      i := i2 + 1;
    End;
  End;
Delphi-Quellcode:
x := ExplodeEx('12 "34 56" 7 89');

// Ergebnis:
x[0] = '12'
x[1] = '34 56'
x[2] = '7'
x[3] = '89'
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat