System.SysUtils.TStringHelper.IndexOfAnyUnquoted
Delphi
function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char): Integer; overload;
function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: Integer): Integer; overload;
function IndexOfAnyUnquoted(const AnyOf: array of Char; StartQuote, EndQuote: Char; StartIndex: Integer; Count: Integer): Integer; overload;
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | System.SysUtils.pas | System.SysUtils | TStringHelper |
Beschreibung
Gibt den Index des ersten Vorkommens eines der angegebenen Zeichen außerhalb der angegebenen Art von Anführungszeichen im angegebenen String zurück. Wenn kein übereinstimmendes, nicht in Anführungszeichen gesetztes Zeichen vorhanden ist, wird -1 zurückgegeben.
IndexOfAnyUnquoted folgt diesen Regeln:
- Ein Zeichen gilt als in Anführungszeichen gesetzt, wenn es sich nach dem angegebenen öffnenden Anführungszeichen und vor dem angegebenen schließenden Anführungszeichen befindet.
- Wenn kein schließendes Anführungszeichen vorhanden ist, gilt jedes Zeichen nach dem öffnenden Anführungszeichen als in Anführungszeichen gesetzt.
- Jedes schließende Anführungszeichen schließt ein vorausgehendes öffnendes Anführungszeichen; ein einzelnes schließendes Anführungszeichen kann nicht mehrere öffnende Anführungszeichen schließen.
IndexOfAnyUnquoted erhält die folgenden Parameter:
AnyOf
ist ein Array mit Zeichen, die übereinstimmen sollen. IndexOfAnyUnquoted sucht nach dem ersten Vorkommen eines dieser Zeichen außerhalb der angegebenen Anführungszeichen.StartQuote
ist das öffnende Anführungszeichen.EndQuote
ist das schließende Anführungszeichen. Für das öffnende und das schließende Anführungszeichen kann dasselbe Zeichen verwendet werden.StartIndex
(optional) ist der Index des Strings, ab dem IndexOfAnyUnquoted mit der Suche nach übereinstimmenden Zeichen beginnt. Dies entspricht der Anzahl der am Beginn des Strings zu überspringenden Zeichen. Wenn Sie keinen Startindex angeben, beginnt IndexOfAnyUnquoted am Anfang des Strings mit der Suche.- Warnung: Anführungszeichen mit einem niedrigeren Index als der angegebene
StartIndex
werden auch übersprungen und bei der Ermittlung der Zeichen in Anführungszeichen bzw. ohne Anführungszeichen nicht berücksichtigt. In der folgenden Tabelle finden Sie Beispiele mit einemStartIndex
-Wert.
- Warnung: Anführungszeichen mit einem niedrigeren Index als der angegebene
Count
(optional) ist die Anzahl der Zeichen des Strings, die durchsucht werden soll. Wenn Sie keinen Wert fürCount
angeben, sucht IndexOfAnyUnquoted bis zum Ende des Strings.
Beispiele
Die folgende Tabelle enthält Beispiel der Ausführung von IndexOfAnyUnquoted mit unterschiedlichen Argumenten. Das Zeichen, das den zurückgegebenen Index bestimmt (sofern vorhanden), ist in der Spalte String der Tabelle in Fettschrift dargestellt.
String | AnyOf
|
StartQuote
|
EndQuote
|
StartIndex
|
Count
|
Ergebnis (Index) | Bemerkungen |
---|---|---|---|---|---|---|---|
"This" is it | i | " | " | 7 | |||
"This is it | i | " | " | -1 | Da kein schließendes Anführungszeichen vorhanden ist, gilt alles nach dem öffnenden Anführungszeichen als in Anführungszeichen gesetzt. | ||
"This" "is" "it" | i | " | " | -1 | Nur Leerzeichen stehen nicht in Anführungszeichen. | ||
<This <is>> it | i | < | > | 12 | Zeichen in verschachtelten Anführungszeichen werden ebenfalls ignoriert. | ||
"This" is it | i | " | " | 1 | 3 | IndexOfAnyUnquoted überspringt aufgrund des Wertes von StartIndex das öffnende Anführungszeichen, daher wird das schließende Anführungszeichen zum öffnenden.
| |
This" "is" "it | i | " | " | 5 | -1 | IndexOfAnyUnquoted überspringt aufgrund des Wertes von StartIndex das erste öffnende Anführungszeichen, daher werden die schließenden Anführungszeichen zu öffnenden und umgekehrt, und die einzigen Zeichen, die nicht in Anführungszeichen stehen, sind jetzt Leerzeichen.
|