Stringoperationen

Grundlegendes
Ein String ist
im Prinzip ein Array of Char (Character/Zeichen)
(
var S:
String; Zeichen:
Char; )
|
S :=
'Test'
Zeichen
:= S[1]
// Zeichen wird T enthalten
Zeichen
:= S[2]
// Zeichen wird e enthalten |

Länge eines String ermitteln
(
var S:
String; Zahl: Integer; )
|
S := ('dies
ist ein Test');
Zahl := length(S);
// die Variable Zahl enthält nun den Wert 17 |

Position eines Zeichen oder Teilsstring
in einem String suchen
(
var S:
String; Zahl: Integer;)
|
S := ('dies
ist ein X-Test');
Zahl := pos('X',S);
// die Variable Zahl enthält nun den Wert 14 |
|
S := ('dies
ist ein X-Test');
Zahl := pos('ein',S);
// die Variable Zahl enthält nun den Wert 10 (Anfangszeichen des
Teilstrings) |
Hinweis: Wurde das
gesuchte Zeichen oder die Zeichenkette nicht gefunden, so ist
der Rückgabewert 0.

Einen String
zurechtschneiden
(
var S:
String; )
Copy(String,X,Y)
X ist die Startposition und Y die Anzahl der Zeichen die
herauskopiert werden sollen
|
S := ('dies
ist ein Test');
S := Copy(S,14,4);
// die Variable S wird nun nur noch 'Test' enthalten |
|
S := Copy(S, 4 ,length(S));
// Die ersten drei
Zeichen eines Strings entfernen |
|
S := Copy(S,
1 ,length(S)-3);
// Die letzten drei
Zeichen eines Strings entfernen |
|
S := ('dies
ist ein X-Test');
// Bis zu einem bestimmten Zeichen oder Teilstring
abschneiden
S := Copy(S,pos('X',S),length(S));
// S enthält nun '
X-Test' |
|
S := ('dies
ist ein X-Test');
// Ab einem
bestimmten Zeichen oder Teilstring abschneiden
S := Copy(S,0,pos('X',S));
// S enthält nun '
ist ein X' |

Zeichen
oder String in einem String
ersetzen
|
S :=
StringReplace(S,'X','Y',[rfReplaceAll,
rfIgnoreCase]);
// ersetze alle X
durch Y |

String in Groß- Kleinbuchstaben umwandeln
|
S :=
AnsiUpperCase(S);
// wandelt alle Zeichen in Großbuchstaben um
S :=
AnsiLowerCase(S);
// wandelt alle Zeichen in Kleinbuchstaben um |

String "umdrehen" (
var A, B:
String; ) – benötigt
StrUtils
in uses!
|
A := ('dies
ist ein Test');
B :=
ReverseString(S);
// B wird nun
'tseT nie tsi seid'
enthalten |

ASCII-Code ermitteln und zurück (
var Zahl: Integer; S:
String )
|
Zahl
:= Ord('A');
// die Variable Zahl wird den Wert 65 bekommen
S := Chr(65);
//
die Variable wird den Wert A haben
|

Stringoperationen an Dateinamen und Pfade
Ordnerpfad aus Dateipfad extrahieren (
var S:
String; )
|
S := ExtractFileDir('C:\test\text.txt');
// S wird
"C:\test" enthalten |
Dateiname aus Dateipfad extrahieren (
var S:
String; )
|
S := ExtractFileName('C:\test\text.txt');
// S wird "test.txt"
enthalten |
Dateiendung (Extension) aus Dateiname extrahieren (
var S:
String; )
|
S := ExtractFileExt('text.txt');
// S wird ".txt"
enthalten |
Dateiendung tauschen bzw. entfernen (
var S:
String; )
|
S := ChangeFileExt('text.txt','.bmp');
// S "test.bmp"
enthalten S :=
ChangeFileExt('text.txt','');
// S wird "test"
enthalten, also keine Endung mehr |

|