System.SysUtils.TStringHelper.IndexOfAnyUnquoted

De RAD Studio API Documentation
Aller à : navigation, rechercher

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 valeur StartIndex.
  • Count (facultatif) est le nombre de caractères à rechercher dans la chaîne. Si aucune valeur n'est spécifiée pour Count, 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.

Voir aussi