Fonctions de recherche de chaînes en 1s. Qu'est-ce que la recherche rapide

Accueil Notes de À travers le miroir

02/07/2013 Recherche par chaîne

Implémenté dans la version 8.3.3.641.

Nous avons apporté des améliorations majeures à l'entrée de ligne. Pour ce faire, nous avons dû implémenter un nouveau mécanisme de recherche puissant dans le champ de saisie. Il peut désormais naviguer rapidement parmi les millions d'enregistrements contenus dans la base de données.

Nous avons analysé les tâches de recherche rencontrées par les utilisateurs. Réalisation d'un « audit » des mécanismes disponibles dans la plateforme, qui utilisent divers algorithmes de recherche. En conséquence, la saisie ligne par ligne a acquis des capacités qualitativement nouvelles.

Les utilisateurs peuvent désormais rechercher n'importe où dans le titre, et pas seulement au début de la ligne. Ils peuvent utiliser la recherche en texte intégral et même rechercher à l'aide d'un travail d'arrière-plan. Pour que la recherche en texte intégral fonctionne efficacement lors de la saisie d'une chaîne, nous avons également optimisé ce moteur de recherche et augmenté ses performances.

Nous avons rassemblé toutes les nouvelles propriétés qui vous permettent de personnaliser la saisie par ligne sur un onglet séparé de la fenêtre d'édition de l'objet de configuration :

Par exemple, vous pouvez spécifier que la recherche sera effectuée n'importe où dans la chaîne, pas seulement au début :

Ensuite, l'utilisateur peut saisir n'importe quels fragments de mots, et pas seulement les caractères par lesquels commence la chaîne de recherche :

L'utilisation de la recherche en texte intégral lors de la saisie d'une chaîne est activée par une propriété distincte :

À l'aide de la recherche en texte intégral, les utilisateurs peuvent rapidement trouver des données appropriées parmi de grandes quantités de données pour l'un des mots contenus, par exemple, dans le nom :

Ils peuvent également rechercher plusieurs mots connus. Les mots inachevés seront automatiquement complétés par les combinaisons possibles :

Si la quantité de données est importante, alors dans les deux cas, vous pouvez spécifier que la recherche doit être effectuée à l'aide d'une tâche d'arrière-plan :

Ensuite, à côté du champ de saisie, les utilisateurs verront une image animée similaire à l'image qui s'affiche lorsque le rapport est exécuté en arrière-plan :

  • si une grande quantité de données n'est pas attendue dans l'objet utilisé dans le champ de saisie, alors nous vous conseillons d'activer la recherche d'une chaîne n'importe où ;
  • si l'objet est prévu un grand nombre de données, alors :
    • nous vous recommandons d'activer la recherche en texte intégral et en arrière-plan ;
    • en même temps, vous pouvez également utiliser la recherche d'une chaîne n'importe où, mais en conjonction avec la recherche en arrière-plan et de préférence avec la recherche en texte intégral ; de sorte que la plupart des recherches sont effectuées via une recherche en texte intégral.

Vous pouvez, si nécessaire, remplacer toutes les propriétés répertoriées lors de l'exécution de la solution appliquée.

Sur le client - dans les gestionnaires d'événements client du champ de saisie Sélection automatique et Saisie EndText :

Sur le serveur - dans le module gestionnaire de l'objet dans les données duquel la recherche est effectuée. Dans le gestionnaire d'événements TraitementDonnéesObtentionChoix :

Naturellement, à cet endroit, sur le serveur, vous ne pouvez pas modifier la façon dont la recherche est effectuée. "Directement" ou alors "Travail de fond" ... Parce que l'exécution du code a déjà été transférée sur le serveur.

Les chaînes dans 1C 8.3 dans le langage intégré 1C sont des valeurs de type primitif Ligne... Les valeurs de ce genre contiennent une chaîne Unicode de longueur arbitraire. Les variables de type chaîne sont un ensemble de caractères entre guillemets.

Exemple 1. Créons une variable chaîne avec du texte.

StringVariable = "Bonjour tout le monde !";

Fonctions pour travailler avec des chaînes dans 1c 8.3

Dans cette section, seront données les principales fonctions qui vous permettent de changer de ligne dans 1c, ou d'analyser les informations qu'elles contiennent.

Longueur de chaîne

StrLength (<Строка>) ... Renvoie le nombre de caractères contenus dans la chaîne passée en paramètre.

Exemple 2. Comptons le nombre de caractères dans la chaîne "Hello world!"

String = "Bonjour tout le monde!"; Nombre de caractères = StrLength (chaîne); Rapport (nombre de caractères) ;

Le résultat de l'exécution de ce code sera d'afficher le nombre de caractères dans la chaîne : 11.

Abréviation

AbbrL (<Строка>) ... Tronque les caractères non significatifs à gauche du premier caractère significatif de la chaîne.
Personnages secondaires:

  • espace;
  • Espace non-cassant;
  • tabulation;
  • retour chariot;
  • traduction de ligne;
  • traduction du formulaire (page).

Exemple 3. Supprimez tous les espaces du côté gauche de la ligne "world!" et attachez-y la chaîne "Bonjour".

Chaîne = abrégé ("paix!"); Chaîne = "Bonjour" + Chaîne ; Rapport (chaîne) ;

Le résultat de l'exécution de ce code sera la sortie de la ligne "Hello world!"

Abréviation

Abréviation (<Строка>) ... Tronque les caractères non significatifs à droite du premier caractère significatif de la chaîne.

Exemple 4. Formez "Hello" et "World!" l'expression "Bonjour tout le monde!"

String = abrégé ("Bonjour") + "" + abrégé ("monde!"); Rapport (chaîne) ;

SokrLP

SocrLP (<Строка>) ... Tronque les caractères non significatifs à droite du premier caractère significatif de la chaîne et coupe également les caractères non significatifs à gauche du premier caractère significatif de la chaîne. Cette fonction utilisé plus souvent que les deux précédents, car plus polyvalent.

Exemple 5. Supprimez les caractères non significatifs à gauche et à droite du nom de la contrepartie.

Contrepartie = Directories.Contractors.NaytiPoRequisite ("DCI", "0777121211"); CounterpartyObject = Counterparty.GetObject (); CounterpartyObject.Name = AbréviationLP (CounterpartyObject.Name); CounterpartyObject.Write ();

un lion

Un lion(<Строка>, <ЧислоСимволов>) ... Obtient les premiers caractères d'une chaîne, le nombre de caractères est spécifié dans le paramètre Nombre de caractères.

Exemple 6. Soit dans la structure Employé contenir le nom, le prénom et le patronyme du salarié. Obtenez une chaîne avec le nom et les initiales.

InitialName = Lion (Employé.Nom, 1); Initiale patronymique = Lion (Employé, Patronymique, 1); FullName = Employee.LastName + "" + InitialName + "." + Initiale patronymique + ".";

Droite

Droite (<Строка>, <ЧислоСимволов>) ... Obtient les derniers caractères d'une chaîne, le nombre de caractères est spécifié dans le paramètre Nombre de caractères. Si le nombre de caractères spécifié dépasse la longueur de la chaîne, la chaîne entière est renvoyée.

Exemple 7. Supposons que la fin d'une variable chaîne contienne une date au format "aaaammjj", récupère une chaîne avec une date et convertit-la dans le type la date.

Chaîne = "Date actuelle : 20170910" ; StringDate = Right (String, 8); Date = Date (StringDate);

mercredi

Mercredi (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) ... Obtient une sous-chaîne à partir d'une chaîne passée en paramètre Ligne, à partir du caractère dont le numéro est spécifié dans le paramètre Numéro de départ et la longueur passée au paramètre Nombre de caractères. La numérotation des caractères de la ligne commence à 1. Si le paramètre Numéro de départ une valeur est spécifiée qui est inférieure ou égale à zéro, alors le paramètre prend la valeur 1. Si le paramètre Nombre de symboles n'est pas spécifié, les caractères jusqu'à la fin de la ligne sont sélectionnés.

Exemple 8. Supposons que la variable de chaîne commençant à la neuvième position contienne le code de région, vous devriez l'obtenir et l'écrire dans une ligne séparée.

Ligne = "Région : 99 Moscou" ; Région = Mer (Ligne, 9, 2);

Chercher

Trouver (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) ... Recherche la sous-chaîne spécifiée dans une chaîne, renvoie le numéro de position du premier caractère de la sous-chaîne trouvée. Considérez les paramètres de cette fonction :

  • Ligne... Chaîne source ;
  • Recherche de sous-chaîne... La sous-chaîne à rechercher ;
  • Sens de recherche... Spécifie le sens de recherche d'une sous-chaîne dans une chaîne. Peut prendre des valeurs :
    • Direction de la recherche. Depuis le début;
    • Direction de la recherche.;
  • Position initiale... Spécifie la position dans la chaîne à partir de laquelle la recherche démarre ;
  • Nombre d'entrées... Spécifie le nombre d'occurrences de la sous-chaîne souhaitée dans la chaîne d'origine.

Exemple 9. Dans la ligne "Hello world!" déterminer la position de la dernière occurrence du symbole "et".

PositionNumber = StrNayti ("Bonjour tout le monde!", "Et", DirectionSearch.End); Rapport (numéro de poste);

Le résultat de l'exécution de ce code sera l'affichage du numéro de la dernière occurrence du symbole "et": 9.

VReg

BReg (<Строка>) ... Convertit tous les caractères de la chaîne spécifiée en 1s 8 en majuscules.

Exemple 10. Convertissez la chaîne "hello world!" en majuscule.

StringBreg = BReg ("bonjour tout le monde!"); Rapport (StringVreg);

Le résultat de l'exécution de ce code sera l'affichage de la ligne "HELLO WORLD!"

Nreg

HPreg (<Строка>) ... Convertit tous les caractères de la chaîne spécifiée en 1s 8 en minuscules.

Exemple 11. Convertissez la chaîne "HELLO WORLD!" en minuscule.

StringNreg = НReg ("BONJOUR LE MONDE !"); Rapport (StringVreg);

Le résultat de l'exécution de ce code sera la sortie de la ligne "hello world!"

Treg

Treg (<Строка>) ... Convertit une chaîne comme suit : le premier caractère de chaque mot est converti en majuscule, les caractères restants du mot sont convertis en minuscule.

Exemple 12. Mettez en majuscule les premières lettres des mots de la chaîne "hello world!"

StringTreg = Treg ("bonjour tout le monde!"); Rapport (StringTreg);

Le résultat de l'exécution de ce code sera l'affichage de la ligne "Hello World!"

symbole

Symbole(<КодСимвола>) ... Obtient un caractère par son code Unicod.

Exemple 13. Ajoutons à gauche et à droite dans la ligne "Hello World!" symbole

StringWithStars = Symbole ("9733") + "Hello World!" + Symbole ("9733"); Rapport (ChaîneAvecÉtoiles);

Le résultat de l'exécution de ce code sera la sortie de la ligne "★ Hello World! ★"

Code de symbole

SymboleCode (<Строка>, <НомерСимвола>) ... Obtient le code de caractère Unicode à partir de la chaîne spécifiée dans le premier paramètre, située à la position spécifiée dans le deuxième paramètre.

Exemple 14. Trouvez le code du dernier caractère dans le champ "Hello World!"

String = "Bonjour tout le monde!"; CharacterCode = CharacterCode (Chaîne, StrLength (Chaîne)); Rapport (SymboleCode);

Le résultat de l'exécution de ce code sera l'affichage du code symbole "!" - 33.

Ligne vide

Ligne vide(<Строка>) ... Vérifie si une chaîne ne contient que des caractères non significatifs, c'est-à-dire si elle est vide.

Exemple 15. Vérifiez si une chaîne composée de trois espaces est vide.

Vide = Chaîne vide (""); Rapport (vide) ;

Le résultat de l'exécution de ce code sera l'affichage du mot "Oui" (expression chaîne de la valeur logique Vrai).

PageRemplacer

PageRemplacer (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) ... Recherche toutes les occurrences de la sous-chaîne de recherche dans la chaîne d'origine et la remplace par la sous-chaîne de remplacement.

Exemple 16. Dans la ligne "Hello World!" remplacer le mot « Paix » par le mot « Amis ».

String = StrReplace ("Hello World!", "World", "Friends"); Rapport (chaîne) ;

Le résultat de l'exécution de ce code sera l'affichage de la ligne "Hello Friends!"

ChaîneNuméroString

StrNombre de lignes (<Строка>) ... Compte le nombre de lignes dans une chaîne multiligne. Aller à nouvelle ligne dans 1s 8 le symbole est utilisé PS(caractère de saut de ligne).

Exemple 17. Déterminez le nombre de lignes dans le texte :
"Première ligne
Deuxième ligne
Troisième ligne "

Number = StrNumberStrings ("Première ligne" + Symbols.PS + "Deuxième ligne" + Symbols.PS + "Troisième ligne"); Signaler le numéro);

Le résultat de l'exécution de ce code sera l'affichage du nombre de lignes dans le texte : 3

StrGetString

StrGetString (<Строка>, <НомерСтроки>) ... Obtient une chaîne dans une chaîne multiligne par son numéro. La numérotation des lignes commence à 1.

Exemple 18. Obtenez la dernière ligne du texte :
"Première ligne
Deuxième ligne
Troisième ligne "

Texte = "Première ligne" + Symboles.PS + "Deuxième ligne" + Symboles.PS + "Troisième ligne" ; LastString = StrGetString (Texte, StrNumberLines (Texte)); Rapport (Dernière Ligne) ;

Le résultat de l'exécution de ce code sera l'affichage de la ligne "Troisième ligne".

StrNombre d'occurrences

StrNombre d'occurrences (<Строка>, <ПодстрокаПоиска>) ... Renvoie le nombre d'occurrences de la sous-chaîne spécifiée dans une chaîne. La fonction est sensible à la casse.

Exemple 19. Déterminez combien de fois la lettre "c" apparaît dans la ligne "Lignes en 1s 8.3 et 8.2", quelle que soit sa casse.

Ligne = "Lignes en 1s 8.3 et 8.2" ; Nombre d'occurrences = StrNombre d'occurrences (Vreg (chaîne), "S"); Rapport (nombre d'occurrences);

Le résultat de l'exécution de ce code sera l'affichage du nombre d'occurrences : 2.

La page commence par

La page commence par (<Строка>, <СтрокаПоиска>) ... Vérifie si la chaîne passée dans le premier paramètre commence par la chaîne dans le deuxième paramètre.

Exemple 20. Déterminez si le TIN de la contrepartie sélectionnée commence par le chiffre 1. Laissez entrer la variable Contrepartie Entrepreneurs.

TIN = Contrepartie.DCI ; Commence parUnits = StrStarts with (INN, "1"); If BeginsUnits Then // Votre code EndIf;

La page se termine par

La page se termine par (<Строка>, <СтрокаПоиска>) ... Vérifie si la chaîne passée dans le premier paramètre se termine par la chaîne dans le deuxième paramètre.

Exemple 21. Déterminez si le TIN de la contrepartie sélectionnée se termine par le chiffre 2. Laissez entrer la variable Contrepartie un lien vers un élément de répertoire est stocké Entrepreneurs.

TIN = Contrepartie.DCI ; Se termine par deux = Str se termine par (INN, "2"); If Ends WithDouble Then // Votre code EndIf;

Fractionnement de page

StrSplit (<Строка>, <Разделитель>, <ВключатьПустые>) ... Divise une chaîne en plusieurs parties à l'aide des caractères délimiteurs spécifiés et écrit les chaînes résultantes dans un tableau. Le premier paramètre stocke la chaîne d'origine, le second contient la ligne contenant le séparateur, le troisième spécifie s'il faut écrire des chaînes vides dans le tableau (par défaut Vrai).

Exemple 22. Supposons que nous ayons une chaîne contenant des nombres séparés par ";", obtenez un tableau de nombres à partir de la chaîne.

Chaîne = "1; 2; 3"; Tableau = StrSplit (chaîne, ";"); Pour Rd = 0 By Array.Quantity () - 1 Cycle Tentative Array [Rd] = Number (AbbrLP (Array [Rb])); Tableau d'exception [Сч] = 0 ; Fin des tentatives Fin de la boucle ;

À la suite de l'exécution, un tableau avec des nombres de 1 à 3 sera obtenu.

StrConnect

StrConnect (<Строки>, <Разделитель>) ... Convertit un tableau de chaînes du premier paramètre en une chaîne contenant tous les éléments du tableau, séparés par le délimiteur spécifié dans le deuxième paramètre.

Exemple 23. En utilisant le tableau de nombres de l'exemple précédent, obtenez la chaîne d'origine.

Pour Rd = 0 By Array.Quantity () - 1 Loop Array [Rd] = String (Array [Rb]); Fin de cycle ; Chaîne = StrConnect (Tableau, ";");

Une chaîne est l'un des types de données primitifs dans les systèmes 1C: Enterprise 8. Variables avec le type ligne contenir du texte.

Valeurs des variables de type ligne sont entourés de guillemets doubles. Plusieurs variables de ce type peuvent être ajoutées.

Per1 = "Mot 1" ;
Per2 = "Mot 2" ;
Per3 = Per1 + "" + Per2 ;

Finalement Per3 signifiera " Mot 1 Mot 2 .

De plus, les systèmes 1C: Enterprise 8 fournissent des fonctions pour travailler avec des chaînes. Considérons les principaux :

Entrez la chaîne (<Строка>, <Подсказка>, <Длина>, <Многострочность>) — la fonction est destinée à afficher une boîte de dialogue dans laquelle l'utilisateur peut spécifier la valeur d'une variable du type Ligne... Paramètre <Строка> est obligatoire et contient le nom de la variable dans laquelle la chaîne saisie sera écrite. Paramètre <Подсказка> optionnel est le titre de la boîte de dialogue. Paramètre <Длина> facultatif, indique la longueur maximale de la chaîne d'entrée. La valeur par défaut est zéro, ce qui signifie une longueur illimitée. Paramètre <Многострочность> optionnel. Détermine le mode de saisie pour le texte multiligne : True - saisie de texte multiligne avec des séparateurs de ligne ; False - entrée d'une chaîne simple.

La chaîne peut être saisie et recevoir le code de caractère Unicode :

Symbole(<КодСимвола>) — le code est entré sous forme de nombre.

Lettre = Symbole (1103); // JE

Il existe également une fonction inverse qui permet de connaître le code d'un caractère.

SymboleCode (<Строка>, <НомерСимвола>) — renvoie le numéro de caractère Unicode spécifié sous forme de nombre.

Fonctions de conversion de casse :

BReg (<Строка>) - convertit tous les caractères de la chaîne en majuscules.

HPreg (<Строка>) - convertit tous les caractères de la chaîne en minuscules.

Treg (<Строка>) - convertit tous les caractères d'une chaîne en majuscules. C'est-à-dire que les premières lettres de tous les mots sont converties en majuscules et le reste des lettres est converti en minuscules.

Fonctions de recherche et de remplacement de caractères dans une chaîne :

Trouver(<Строка>, <ПодстрокаПоиска>) - recherche le numéro de caractère de l'occurrence de la sous-chaîne de recherche. Par exemple:

Trouver ("Chaîne", "Oka"); // 4

Trouver (<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) - trouve le numéro du caractère de l'occurrence de la sous-chaîne de recherche, le numéro de l'occurrence est indiqué dans le paramètre correspondant. Dans ce cas, la recherche commence par un caractère dont le numéro est précisé dans le paramètre Position initiale. La recherche est possible à partir du début ou de la fin de la chaîne. Par exemple:

Nombre4 Occurrences = StrFind ( « Capacité de défense », "o", Direction de la recherche. Depuis le début, 1, 4); // 7

PageRemplacer (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - trouve toutes les occurrences de la sous-chaîne de recherche dans la chaîne d'origine et la remplace par la sous-chaîne de remplacement.

StrReplace ("Chaîne", "Oka", ""); // Page

Ligne vide(<Строка>) - vérifie la chaîne pour les caractères significatifs. S'il n'y a pas de caractères significatifs, ou pas de caractères du tout, la valeur est renvoyée Vrai... Sinon - Mensonge.

StrNombre d'occurrences (<Строка>, <ПодстрокаПоиска>) - calcule le nombre d'occurrences de la sous-chaîne de recherche dans la chaîne d'origine.

StrNombre d'occurrences ( "Étudiez, étudiez et étudiez encore", "étudier" , "" ) ; // 3

Modèle de page (<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — remplace les paramètres dans la chaîne par un nombre. La chaîne doit contenir des marqueurs de substitution de la forme : "% 1 ..% N". Les marqueurs sont numérotés à partir de 1. Si la valeur du paramètre Indéfini, une chaîne vide est substituée.

Modèle de page ( "Paramètre 1 =% 1, Paramètre 2 =% 2", "1" , "2" ) ; // Paramètre 1 = 1, Paramètre 2 = 2

Fonctions de conversion de chaîne :

Un lion(<Строка>, <ЧислоСимволов>) - renvoie les premiers caractères de la chaîne en premier.

Droite (<Строка>, <ЧислоСимволов>) - renvoie les derniers caractères de la chaîne.

Mercredi (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - renvoie une chaîne de longueur<ЧислоСимволов>en commençant par le personnage<НачальныйНомер>.

AbbrL (<Строка>) tronque les caractères non significatifs à gauche du premier caractère significatif de la chaîne.

Abréviation (<Строка>) - coupe les caractères non significatifs à droite du dernier caractère significatif de la chaîne.

SocrLP (<Строка>) - coupe les caractères non significatifs à gauche du premier caractère significatif de la ligne et à droite du dernier caractère significatif de la ligne.

StrGetString (<Строка>, <НомерСтроки>) - obtient une chaîne d'une chaîne multiligne par numéro.

Autres fonctions :

StrLength (<Строка>) - renvoie le nombre de caractères d'une chaîne.

StrNombre de lignes (<Строка>) - renvoie le nombre de lignes dans une chaîne multiligne. Une ligne est considérée comme nouvelle si elle est séparée de la ligne précédente par un caractère de nouvelle ligne.

Comparer (<Строка1>, <Строка2> ) - compare deux chaînes, insensible à la casse. La fonction fonctionne de la même manière qu'un objet Comparaison des valeurs... Retour:

  • 1 - si la première ligne est supérieure à la seconde
  • -1 - si la deuxième ligne est supérieure à la première
  • 0 - si les chaînes sont égales

Comparer ("Première ligne", "Deuxième ligne"); // un

Bonjour
Aujourd'hui ils m'ont demandé de ne pas afficher le préfixe du document lors de l'impression du document de mise en œuvre, le problème a été résolu comme suit.

PageReplace (Numéro, Lion (Numéro, 3), "");

Quand j'ai regardé dans l'assistant de syntaxe, je l'ai tellement aimé que j'ai voulu écrire sur travailler avec des chaînes dans 1C: Enterprise.

Une chaîne en 1C fait référence à un type de données primitif.

Si vous regardez l'aide 1C, nous verrons la description suivante du type String
Les valeurs de ce type contiennent une chaîne Unicode de longueur arbitraire.
Si dans vos propres mots sur les chaînes, cela fonctionnera. Une chaîne est une constante, composée de divers caractères, toujours entourée de guillemets.

Spécification d'une chaîne
Appel = "Bonjour Passager" ;

Chaînes multilignes dans configurations typiques sont le plus souvent créés à l'aide du séparateur vertical "|":
String = "Multiligne
| chaîne
| écrire
| texte ";

Le guillemet à l'intérieur de la chaîne est spécifié par des guillemets doubles.
String = "" Texte entre guillemets "";

Il existe de nombreuses opérations sur les chaînes (recherche à l'intérieur d'une chaîne, détermination de la première, etc.), il vaut mieux regarder le Syntax Helper.
Assistant de syntaxe - description générale langage intégré-> fonctions intégrées-> fonctions pour travailler avec des chaînes.

Fonctions de chaîne

Ici, sous une forme courte, je vais donner les fonctions pour travailler avec des chaînes :

BReg (<Строка>) - La fonction convertit tous les caractères de la chaîne en majuscules.

SymboleCode (<Строка>, <НомерСимвола>) - La fonction reçoit le code du caractère situé dans la chaîne passée à la position avec le numéro spécifié.

Un lion(<Строка>, <ЧислоСимволов>) - La fonction sélectionne les premiers caractères de la chaîne en partant de la gauche.

Trouver(<Строка>, <ПодстрокаПоиска>) - La fonction trouve l'occurrence de la chaîne de recherche en tant que sous-chaîne dans la chaîne d'origine.

HPreg (<Строка>) - La fonction convertit tous les caractères de la chaîne en minuscules.

Droite (<Строка>, <ЧислоСимволов>) - Cette fonction diffère des fonctions Gauche en ce qu'elle sélectionne les derniers caractères de la chaîne à droite.

Ligne vide(<Строка>) - La fonction vérifie la chaîne pour les caractères significatifs.

Symbole(<КодСимвола>) - La fonction convertit le code du caractère en une chaîne contenant le caractère.

AbbrL (<Строка>) - La fonction coupe les caractères non significatifs à gauche du premier caractère significatif de la chaîne.

SocrLP (<Строка>) - La fonction supprime les caractères non significatifs à gauche du premier caractère significatif de la ligne et les espaces à droite du dernier caractère significatif de la ligne.

Abréviation (<Строка>) - La fonction coupe les caractères non significatifs à droite du dernier caractère significatif de la chaîne.

Mercredi (<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - La fonction sélectionne une chaîne de caractères commençant par un caractère<НачальныйНомер>, au total<ЧислоСимволов>.

StrLength (<Строка>) - La fonction obtient le nombre de caractères dans une chaîne.

PageRemplacer (<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) - La fonction trouve toutes les occurrences de la sous-chaîne de recherche dans la chaîne d'origine et la remplace par la sous-chaîne de remplacement.

StrGetString (<Строка>, <НомерСтроки>) - La fonction obtient une chaîne d'une chaîne multiligne par numéro.

StrNombre d'occurrences (<Строка>, <ПодстрокаПоиска>) - La fonction calcule le nombre d'occurrences de la sous-chaîne de recherche dans la chaîne d'origine.

StrNombre de lignes (<Строка>) - La fonction compte le nombre de lignes dans une chaîne multiligne. Dans une chaîne multiligne, les lignes sont séparées par des sauts de ligne.

Treg (<Строка>) - La fonction convertit la chaîne en casse du titre. Cela signifie que pour chaque mot, le premier caractère est converti en casse de titre, ou en majuscule si aucune casse de titre n'est définie pour le caractère. Les autres caractères sont convertis en minuscules.

Conversions de type
Pour la conversion explicite des types de données, il existe des fonctions du même nom avec le type de données vers lequel la conversion se produit : String (<Значение>)

StringOfNumbers = Chaîne (Nombre);

Toutes ces fonctions sont décrites en détail dans l'assistant de syntaxe, comment l'assistant de syntaxe peut aider un programmeur débutant, j'ai décrit dans l'article.

Exemples de travail avec des chaînes

Convertissez un nombre en chaîne et inversement.

Pour obtenir une représentation sous forme de chaîne de l'année, utilisez la fonction Format.

Année = Format (CurrentDate (), "DF = yyyy") // Année = "2012"

Pour convertir un nombre en chaîne sans insérer de caractère séparateur de groupe (espace insécable), vous devez utiliser la fonction Format avec le paramètre ChG = 0 :

Nombre = 2012 Chaîne = Format (Nombre, "CHG = 0"); // Chaîne = "2012"

Chaîne Pas d'espaces.