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;
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
function | public | System.SysUtils.pas | System.SysUtils | TStringHelper |
Description
Renvoie l'index de la première occurrence de l'un quelconque des caractères spécifiés à l'extérieur des types spécifiés de guillemets dans la chaîne indiquée, ou -1 s'il n'existe pas de caractère correspondant non délimité.
IndexOfAnyUnquoted suit les règles ci-après :
- Un caractère est considéré comme délimité s'il est situé entre le guillemet de début et le guillemet de fin.
- En cas d'absence de guillemet de fin, tout caractère situé après le guillemet de début est considéré comme délimité.
- Chaque guillemet de fin termine un guillemet de début placé précédemment ; un guillemet de fin unique ne peut pas fermer plusieurs guillemets de début.
IndexOfAnyUnquoted reçoit les paramètres suivants :
AnyOf
est un tableau des caractères à mettre en correspondance. IndexOfAnyUnquoted recherche la première occurrence de l'un quelconque de ces caractères à l'extérieur des guillemets spécifiés.StartQuote
est le caractère guillemet de début.EndQuote
est le caractère guillemet de fin. Il peut être identique au caractère guillemet de début.StartIndex
(facultatif) est l'index de la chaîne dans laquelle IndexOfAnyUnquoted commence la recherche d'un caractère correspondant. Vous pouvez le considérer comme le nombre de caractères de début de la chaîne à ignorer lors de la recherche. Si vous ne spécifiez pas d'index de début, IndexOfAnyUnquoted commence la recherche au début de la chaîne.- Avertissement : Les guillemets avec un index inférieur au
StartIndex
spécifié sont également ignorés, car ils ne sont pas pris en compte pour déterminer quels caractères sont délimités et quels sont ceux qui ne le sont pas. Le tableau suivant affiche quelques exemples de valeurStartIndex
.
- Avertissement : Les guillemets avec un index inférieur au
Count
(facultatif) est le nombre de caractères à rechercher dans la chaîne. Si aucune valeur n'est spécifiée pourCount
, IndexOfAnyUnquoted continue la recherche jusqu'à la fin de la chaîne.
Exemples
Le tableau suivant montre quelques exemples d'exécution de IndexOfAnyUnquoted avec différents arguments. Le caractère qui détermine l'index renvoyé, le cas échéant, est affiché en gras dans la colonne Chaîne du tableau.
Chaîne | AnyOf
|
StartQuote
|
EndQuote
|
StartIndex
|
Count
|
Résultat (Index) | Remarques |
---|---|---|---|---|---|---|---|
"This" is it | i | " | " | 7 | |||
"This is it | i | " | " | -1 | Il n'y a pas guillemet de fin, ce qui signifie que tout caractère après le guillemet de début est considéré comme délimité. | ||
"This" "is" "it" | i | " | " | -1 | Seuls les espaces sont non délimités | ||
<This <is>> it | i | < | > | 12 | Les caractères au sein des guillemets imbriqués sont également ignorés. | ||
"This" is it | i | " | " | 1 | 2 | IndexOfAnyUnquoted ignore le guillemet de début à cause de la valeur de StartIndex , ce qui fait que le guillemet de fin devient un guillemet de début.
| |
This" "is" "it | i | " | " | 5 | -1 | IndexOfAnyUnquoted ignore le premier guillemet de début à cause de la valeur de StartIndex , ce qui fait que les guillemets de fin deviennent des guillemets de début et vice-versa. Les seuls caractères non délimités sont maintenant des espaces.
|