Σημειώσεις από το Looking Glass

18/08/2014 Νέες λειτουργίες για εργασία με χορδές

Υλοποιήθηκε στην έκδοση 8.3.6.1977.

Έχουμε επεκτείνει το σύνολο των συναρτήσεων για την εργασία με χορδές. Το κάναμε αυτό για να σας προσφέρουμε πιο προηγμένα εργαλεία για την ανάλυση δεδομένων συμβολοσειράς. Οι νέες λειτουργίες θα είναι βολικές και χρήσιμες σε τεχνολογικές εργασίες ανάλυσης κειμένου. Σε εργασίες που σχετίζονται με την ανάλυση κειμένου που περιέχει δεδομένα σε μορφοποιημένη μορφή. Αυτή μπορεί να είναι η ανάλυση ορισμένων αρχείων που λαμβάνονται από τον εξοπλισμό ή, για παράδειγμα, η ανάλυση ενός τεχνολογικού αρχείου καταγραφής.

Όλες οι ενέργειες που εκτελούν οι νέες λειτουργίες, θα μπορούσατε να εκτελέσετε πριν. Με τη βοήθεια περισσότερο ή λιγότερο πολύπλοκων αλγορίθμων γραμμένων σε ενσωματωμένη γλώσσα. Επομένως, οι νέες λειτουργίες δεν σας δίνουν ουσιαστικά νέες ευκαιρίες. Ωστόσο, σας επιτρέπουν να μειώσετε την ποσότητα του κώδικα, να κάνετε τον κώδικα απλούστερο και πιο κατανοητό. Επιπλέον, σας επιτρέπουν να επιταχύνετε την εκτέλεση των ενεργειών. Επειδή οι λειτουργίες που υλοποιούνται στην πλατφόρμα λειτουργούν, φυσικά, πιο γρήγορα από έναν παρόμοιο αλγόριθμο γραμμένο στην ενσωματωμένη γλώσσα.

Μορφοποίηση συνάρτησης StrTemplate()

Αυτή η συνάρτηση αντικαθιστά τις παραμέτρους σε μια συμβολοσειρά. Η ανάγκη για μια τέτοια μετατροπή προκύπτει συχνά, για παράδειγμα, κατά την εμφάνιση προειδοποιητικών μηνυμάτων. Η σύνταξη αυτής της συνάρτησης είναι η εξής:

StrTemplate(<Шаблон>, <Значение1-Значение10>)

<Шаблон>είναι η συμβολοσειρά στην οποία θα αντικατασταθούν οι αναπαραστάσεις των παραμέτρων.

<Значение1> , ... <Значение10>- αυτές είναι οι παράμετροι (μέγιστο - δέκα), οι αναπαραστάσεις των οποίων πρέπει να αντικατασταθούν στη συμβολοσειρά.

Για να καθορίσετε ένα συγκεκριμένο μέρος στο πρότυπο στο οποίο θέλετε να πραγματοποιήσετε την αντικατάσταση, πρέπει να χρησιμοποιήσετε δείκτες της μορφής %1, ... %10. Ο αριθμός των δεικτών που εμπλέκονται στο πρότυπο και ο αριθμός των παραμέτρων που περιέχουν τιμές πρέπει να ταιριάζει.

Για παράδειγμα, το αποτέλεσμα της εκτέλεσης ενός τέτοιου τελεστή:

θα υπάρχει μια γραμμή:

Σφάλμα δεδομένων στη γραμμή 2 (απαιτείται τύπος ημερομηνίας)

Συνάρτηση συμβολοσειράς StrCompare()

Αυτή η συνάρτηση συγκρίνει δύο συμβολοσειρές χωρίς ευαισθησία. Για παράδειγμα, όπως αυτό:

Θα μπορούσατε να εκτελέσετε την ίδια ενέργεια πριν χρησιμοποιήσετε το αντικείμενο Σύγκριση αξιών:

Ωστόσο, η χρήση της νέας λειτουργίας φαίνεται πιο απλή. Και εκτός από αυτό, μια συνάρτηση, σε αντίθεση με ένα αντικείμενο Σύγκριση αξιών, δουλεύει σε λεπτός πελάτηςκαι στο πρόγραμμα-πελάτη Ιστού.

Συναρτήσεις συμβολοσειράς StrBeginsC(), StrEndsTo()

Αυτές οι συναρτήσεις καθορίζουν εάν μια συμβολοσειρά ξεκινά με μια καθορισμένη υποσυμβολοσειρά ή εάν μια συμβολοσειρά τελειώνει με μια καθορισμένη υποσυμβολοσειρά. Ο αλγόριθμος αυτών των συναρτήσεων δεν είναι δύσκολο να εφαρμοστεί σε μια ενσωματωμένη γλώσσα, αλλά η παρουσία τους σας επιτρέπει να γράφετε καθαρότερο και πιο κατανοητό κώδικα. Και λειτουργούν πιο γρήγορα.

Για παράδειγμα, είναι βολικό να τα χρησιμοποιείτε στον χειριστή Αν:

Λειτουργίες για εργασία με συμβολοσειρές StrSplit(), StrJoin()

Αυτές οι συναρτήσεις χωρίζουν τη συμβολοσειρά σε μέρη σύμφωνα με τον καθορισμένο οριοθέτη. Ή αντίστροφα, συνδυάζουν πολλές γραμμές σε μία, εισάγοντας το επιλεγμένο διαχωριστικό μεταξύ τους. Είναι βολικά για τη δημιουργία ή την ανάλυση αρχείων καταγραφής, ενός τεχνολογικού αρχείου καταγραφής. Για παράδειγμα, μπορείτε εύκολα να αποσυναρμολογήσετε μια καταχώρηση τεχνολογικού αρχείου καταγραφής σε μέρη κατάλληλα για περαιτέρω ανάλυση:

Συνάρτηση εργασίας με συμβολοσειρές StrFind()

Αντί για την παλιά λειτουργία Εύρημα()έχουμε εφαρμόσει νέο χαρακτηριστικό, το οποίο διαθέτει επιπλέον χαρακτηριστικά:

  • Αναζήτηση σε διαφορετικές κατευθύνσεις (από την αρχή, από το τέλος).
  • Αναζήτηση από την καθορισμένη θέση.
  • Αναζήτηση για ένα περιστατικό με τον καθορισμένο αριθμό (δεύτερο, τρίτο, κ.λπ.).

Στην πραγματικότητα, αντιγράφει τις δυνατότητες της παλιάς λειτουργίας. Αυτό γίνεται για να διατηρηθεί η συμβατότητα με ενότητες που έχουν μεταγλωττιστεί σε παλαιότερες εκδόσεις. παλιά λειτουργία Εύρημα()συνιστάται να μην χρησιμοποιηθεί ξανά.

Ακολουθεί ένα παράδειγμα χρήσης των νέων δυνατοτήτων αναζήτησης. Η αναζήτηση προς τα πίσω είναι χρήσιμη όταν χρειάζεστε το τελευταίο κομμάτι μιας τυπικής συμβολοσειράς, όπως το πλήρες όνομα ενός αρχείου σε μια διεύθυνση URL. Και η αναζήτηση από μια καθορισμένη θέση βοηθάει σε περιπτώσεις όπου χρειάζεται να κάνετε αναζήτηση σε ένα γνωστό κομμάτι και όχι σε ολόκληρη τη συμβολοσειρά.

Ο τύπος String βρίσκεται σε όλες τις γλώσσες προγραμματισμού. Είναι πρωτόγονο και στο 1C υπάρχουν πολλές λειτουργίες για να δουλέψετε μαζί του. Σε αυτό το άρθρο, θα ρίξουμε μια πιο προσεκτική ματιά διάφορους τρόπουςεργαστείτε με τύπους χορδών στο 1C 8.3 και 8.2 με παραδείγματα.

Γραμμή

Για να μετατρέψετε μια μεταβλητή οποιουδήποτε τύπου σε συμβολοσειρά, υπάρχει η συνάρτηση "String ()" με το ίδιο όνομα. Η παράμετρος εισόδου θα είναι η ίδια η μεταβλητή, η αναπαράσταση συμβολοσειράς της οποίας πρόκειται να ληφθεί.

String(False) // επιστρέφει "Όχι"
Το String(12345) // επιστρέφει "12 345"
String(CurrentDate()) //"21.07.2017 11:55:36"

Είναι δυνατή η μετατροπή σε συμβολοσειρά όχι μόνο πρωτόγονων τύπων, αλλά και άλλων, για παράδειγμα, στοιχείων καταλόγων και εγγράφων.

Συντομογραφία LP, Συντομογραφία L, Συντομογραφία P

Οπως και παραμέτρους εισόδουαπό αυτές τις συναρτήσεις είναι μια μεταβλητή τύπου συμβολοσειράς. Οι συναρτήσεις αφαιρούν ασήμαντους χαρακτήρες (κενά, επιστροφές μεταφοράς κ.λπ.): από την αριστερή και τη δεξιά πλευρά, μόνο από την αριστερή πλευρά και μόνο από τη δεξιά, αντίστοιχα.

abbrl("Θα αφαιρεθούν κενά και στις δύο πλευρές") // "Θα αφαιρεθούν κενά και στις δύο πλευρές"
abbr("Θα αφαιρεθούν κενά και στις δύο πλευρές") // "Τα κενά στα αριστερά θα αφαιρεθούν"
abbr(" Τα κενά και στις δύο πλευρές θα αφαιρεθούν ") // "Τα κενά στα δεξιά θα αφαιρεθούν"

Λέων, Δεξιά, Μέση

Αυτές οι λειτουργίες σάς επιτρέπουν να κόψετε μέρος μιας συμβολοσειράς. Η συνάρτηση Lion() θα επιστρέψει το τμήμα της συμβολοσειράς στην αριστερή πλευρά του καθορισμένου μήκους. Η συνάρτηση "Right()" είναι παρόμοια, αλλά η περικοπή γίνεται στα δεξιά. Η συνάρτηση "Wed()" σάς επιτρέπει να καθορίσετε τον αριθμό χαρακτήρων από τον οποίο θα επιλεγεί η συμβολοσειρά και το μήκος της.

Lion("String variable", 4) // επιστρέφει "Stro"
Right("String variable", 7) // επιστρέφει "variable"
avg("String variable", 2, 5)// επιστρέφει "troco"

StrLength

Η συνάρτηση καθορίζει τον αριθμό των χαρακτήρων που περιέχονται σε μια μεταβλητή συμβολοσειράς.

StrLength("Word") // το αποτέλεσμα της εκτέλεσης θα είναι ο αριθμός 5

Εύρημα

Η συνάρτηση καθιστά δυνατή την αναζήτηση ενός τμήματος μιας συμβολοσειράς σε μια μεταβλητή συμβολοσειράς. Η επιστρεφόμενη τιμή θα είναι ένας αριθμός που υποδεικνύει τη θέση της αρχής της συμβολοσειράς που βρέθηκε. Εάν δεν βρεθούν αντιστοιχίες, επιστρέφεται το μηδέν.

Σημειώστε ότι η αναζήτηση γίνεται με διάκριση πεζών-κεφαλαίων. Εάν υπάρχουν περισσότερες από μία εμφανίσεις της υποσυμβολοσειράς αναζήτησης στην αρχική συμβολοσειρά, η συνάρτηση θα επιστρέψει την αρχή της πρώτης εμφάνισης.

Εύρεση ("ένα, δύο, ένα, δύο, τρία", "δύο") // η συνάρτηση θα επιστρέψει τον αριθμό 6

Κενή γραμμή

Η χρήση αυτής της συνάρτησης σάς επιτρέπει να προσδιορίσετε εάν μια συμβολοσειρά είναι κενή. Ασήμαντοι χαρακτήρες, όπως το διάστημα, η επιστροφή άμαξα και άλλοι δεν λαμβάνονται υπόψη.

EmptyString ("Vasily Ivanovich Pupkin") // η συνάρτηση θα επιστρέψει False
EmptyString(" ") // η συνάρτηση θα επιστρέψει True

VReg, NReg, Treg

Αυτές οι συναρτήσεις είναι πολύ χρήσιμες κατά τη σύγκριση και τη μετατροπή μεταβλητών συμβολοσειρών. Το "Vreg()" θα επιστρέψει την αρχική συμβολοσειρά με κεφαλαία, το "HReg()" με πεζά και το "Treg()" θα το μορφοποιήσει έτσι ώστε ο πρώτος χαρακτήρας κάθε μεμονωμένης λέξης να είναι κεφαλαίος και όλοι οι επόμενοι χαρακτήρες να είναι πεζοί.

Vreg("ΓΕΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ") // τιμή επιστροφής - "ΓΕΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ"
HReg("ΓΕΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ") // τιμή επιστροφής - "CEO"
Treg("ΓΕΝΙΚΟΣ ΔΙΕΥΘΥΝΤΗΣ") // τιμή επιστροφής - "Γενικός Διευθυντής"

StrReplace

Αυτή η λειτουργία είναι ανάλογη με την αντικατάσταση στο συντάκτες κειμένου. Σας επιτρέπει να αντικαταστήσετε έναν χαρακτήρα ή σύνολο χαρακτήρων με έναν άλλο σε μεταβλητές συμβολοσειράς.

StrReplace("κόκκινο, λευκό, κίτρινο", ",", ";") // επιστρέφει "κόκκινο; άσπρο; κίτρινος"

StrNumberRows

Η συνάρτηση σάς επιτρέπει να προσδιορίσετε τον αριθμό των γραμμών που χωρίζονται από μια επιστροφή μεταφοράς σε μια μεταβλητή κειμένου.

Ο βρόχος στο παρακάτω παράδειγμα θα περάσει από τρεις κύκλους επειδή η συνάρτηση StrNumberRows θα επιστρέψει την τιμή 3:

Για ind \u003d 1 κατά StrNumber of Lines ("Line1" + Symbols.PS + "String2" + Symbols.PS + "Line3") Βρόχος
<тело цикла>
EndCycle;

StrGetString

Αυτή η συνάρτηση λειτουργεί με κείμενο πολλών γραμμών με τον ίδιο τρόπο όπως η προηγούμενη. Σας επιτρέπει να λάβετε μια συγκεκριμένη συμβολοσειρά από μια μεταβλητή κειμένου.

StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // επιστρέφει "Γραμμή 2"

StrNumberOccurrences

Η συνάρτηση μετράει τον αριθμό των εμφανίσεων ενός χαρακτήρα ή υποσυμβολοσειράς στη συμβολοσειρά που αναζητήθηκε.

StrNumberInstallations("a;b;c;d; ", ";") // η συνάρτηση θα επιστρέψει τον αριθμό 4

Symbol και SymbolCode

Αυτές οι λειτουργίες σάς επιτρέπουν να λάβετε έναν χαρακτήρα από τον κωδικό Unicode του, καθώς και να προσδιορίσετε αυτόν τον κωδικό από τον ίδιο τον χαρακτήρα.

SymbolCode("A") // η συνάρτηση θα επιστρέψει τον αριθμό 1 040
SymbolCode(1040) // η συνάρτηση θα επιστρέψει "A"

Συχνές εργασίες κατά την εργασία με χορδές

Συνένωση χορδών

Για να συνδέσετε πολλές συμβολοσειρές (concatenate) απλώς χρησιμοποιήστε τον τελεστή πρόσθεσης.

"Γραμμή 1" + "Γραμμή 2" //το αποτέλεσμα της προσθήκης δύο γραμμών θα είναι "Γραμμή 1 Γραμμή 2"

Μετατροπή τύπου

Για να μετατρέψετε έναν τύπο σε συμβολοσειρά, για παράδειγμα, μια αναφορά σε ένα στοιχείο λεξικού, έναν αριθμό κ.λπ., αρκεί να χρησιμοποιήσετε τη συνάρτηση "String ()". Συναρτήσεις όπως η "ShortLP()" θα μετατρέψουν επίσης τις μεταβλητές σε μια συμβολοσειρά, αλλά αμέσως με αποκοπή ασήμαντων χαρακτήρων.

Η συμβολοσειρά (1000) // θα επιστρέψει "1000"

Λάβετε υπόψη ότι κατά τη μετατροπή ενός αριθμού σε συμβολοσειρά, το πρόγραμμα πρόσθεσε αυτόματα ένα διάστημα που χωρίζει το χίλιο. Για να αποφύγετε αυτό, μπορείτε να χρησιμοποιήσετε τις ακόλουθες δομές:

StrReplace(String(1000),Characters.NPP,"") // επιστρέφει "1000"

Το String(Format(1000,"CH=")) // θα επιστρέψει "1000"

Εισαγωγικά σε μια συμβολοσειρά

Αρκετά συχνά θα πρέπει να αντιμετωπίσετε την ανάγκη να βάλετε εισαγωγικά σε μια μεταβλητή συμβολοσειράς. Μπορεί να είναι είτε ένα κείμενο αίτησης γραμμένο στον διαμορφωτή, είτε απλώς μια μεταβλητή. Για να λύσετε αυτό το πρόβλημα, πρέπει απλώς να ορίσετε δύο χαρακτήρες εισαγωγικών.

Header = String("Horns and Hooves LLC is us!") // επιστρέφει "Roga and Hooves LLC είμαστε εμείς!"

Πολύγραμμη, αλλαγή γραμμής

Για να δημιουργήσετε ένα κείμενο πολλών γραμμών, αρκεί να προσθέσετε χαρακτήρες αλλαγής γραμμής (Symbols.PS).

MultilineText = "First Line" + Characters.PS + "Second Line"

Πώς να αφαιρέσετε κενά

Για να αφαιρέσετε κενά στα δεξιά ή στα αριστερά, μπορείτε να χρησιμοποιήσετε τη συνάρτηση "Stretch()" (καθώς και "Scrpt()" και "ScreenP()"):

StringWithoutSpaces = ShortLP (" Πολλά γράμματα ") // η συνάρτηση θα επιστρέψει την τιμή "Πολλά γράμματα"

Εάν, μετά τη μετατροπή ενός αριθμού σε συμβολοσειρά, πρέπει να αφαιρέσετε κενά που δεν διακόπτουν, χρησιμοποιήστε την ακόλουθη κατασκευή:

StringWithoutSpaces = StrReplace(String(99999),Characters.NPP,"") // επιστρέφει "99999"

Επίσης, οι προγραμματιστές χρησιμοποιούν συχνά την ακόλουθη κατασκευή, η οποία σας επιτρέπει να αφαιρέσετε ή να αντικαταστήσετε όλα τα κενά μιας μεταβλητής κειμένου με έναν άλλο χαρακτήρα:

StringWithoutSpaces = StrReplace(" hello", " ","") // επιστρέφει "γεια"

Σύγκριση χορδών μεταξύ τους

Μπορείτε να συγκρίνετε όρους με το συνηθισμένο πρόσημο ίσου. Η σύγκριση είναι διάκριση πεζών-κεφαλαίων.

"hello" = "γεια" // θα επιστρέψει ψευδής
"Hello" = "Hello" // θα επιστρέψει True
"Hello" = "Αντίο" // θα επιστρέψει False

Υπάρχουν λίγοι μηχανισμοί για εργασία με συμβολοσειρές σε ερωτήματα 1C. Αρχικά, μπορούν να προστεθούν χορδές. Δεύτερον, μια υποσυμβολοσειρά μπορεί να ληφθεί από μια συμβολοσειρά. Τρίτον, οι χορδές μπορούν να συγκριθούν, συμπεριλαμβανομένου του σχεδίου. Αυτό είναι το μόνο που μπορείτε να κάνετε με χορδές.

Προσθήκη χορδής

Ο τελεστής "+" χρησιμοποιείται για την προσθήκη συμβολοσειρών σε ένα ερώτημα. Μπορείτε να προσθέσετε μόνο χορδές περιορισμένου μήκους.

SELECT "Name: " + Contractors.Name AS Column1 FROM Directory.Contractors AS Contractors WHERE Contractors.Reference = &Reference

Συνάρτηση υποσυμβολοσειράς

SUBSTRING(<Строка>, <НачальнаяПозиция>, <Длина>)

Ένα ανάλογο της συνάρτησης Environment() από μοντέλο αντικειμένου. Η συνάρτηση Substring() μπορεί να εφαρμοστεί σε δεδομένα τύπου συμβολοσειράς και σας επιτρέπει να επιλέξετε ένα τμήμα <Строки> , ξεκινώντας με έναν αριθμό χαρακτήρα <НачальнаяПозиция> (οι χαρακτήρες σε μια συμβολοσειρά αριθμούνται από το 1) και το μήκος <Длина> χαρακτήρες. Το αποτέλεσμα της αξιολόγησης συνάρτησης έχει έναν τύπο συμβολοσειράς μεταβλητού μήκους και το μήκος θα θεωρείται απεριόριστο εάν <Строка> έχει απεριόριστο μήκος και παράμετρο <Длина> δεν είναι σταθερά ή μεγαλύτερη από 1024.

Εάν το μήκος συμβολοσειράς είναι μικρότερο από αυτό που καθορίζεται στη δεύτερη παράμετρο, τότε η συνάρτηση θα επιστρέψει μια κενή συμβολοσειρά.

Προσοχή!Η χρήση της συνάρτησης SUBSTRING() για τη μετατροπή συμβολοσειρών απεριόριστου μήκους σε συμβολοσειρές περιορισμένου μήκους δεν συνιστάται. Αντίθετα, είναι καλύτερο να χρησιμοποιήσετε τον τελεστή cast EXPRESS().

Λειτουργία Παρόμοια

Εάν πρέπει να βεβαιωθούμε ότι το χαρακτηριστικό string πληροί ορισμένα κριτήρια, το συγκρίνουμε:

SELECT Counterparties.Name AS Column1 FROM Directory.Counterparties AS Counterparties WHERE Counterparties.Name = "Gazprom"

Τι γίνεται όμως αν χρειάζεται μια πιο λεπτή σύγκριση; Όχι μόνο για ισότητα ή ανισότητα, αλλά για ομοιότητα με ένα συγκεκριμένο πρότυπο; Γι' αυτό ακριβώς δημιουργήθηκε η συνάρτηση LIKE.

LIKE - Ένας τελεστής που ελέγχει εάν μια συμβολοσειρά είναι παρόμοια με ένα μοτίβο. Αναλογικό του LIKE σε SQL.

Ο τελεστής LIKE σάς επιτρέπει να συγκρίνετε την τιμή της έκφρασης που καθορίζεται στα αριστερά της με τη συμβολοσειρά προτύπου που καθορίζεται στα δεξιά. Η τιμή της έκφρασης πρέπει να είναι τύπου string. Εάν η τιμή της παράστασης ταιριάζει με το πρότυπο, το αποτέλεσμα του τελεστή θα είναι TRUE, διαφορετικά θα είναι FALSE.

Οι ακόλουθοι χαρακτήρες στη συμβολοσειρά του προτύπου είναι χαρακτήρες υπηρεσίας και έχουν διαφορετική σημασία από τον χαρακτήρα συμβολοσειράς:

  • % (ποσοστό): μια ακολουθία που περιέχει οποιονδήποτε αριθμό αυθαίρετων χαρακτήρων.
  • _ (υπογράμμιση): ένας αυθαίρετος χαρακτήρας.
  • […] (ένας ή περισσότεροι χαρακτήρες μέσα σε αγκύλες): οποιοσδήποτε μεμονωμένος χαρακτήρας παρατίθεται μέσα σε αγκύλες. Μια απαρίθμηση μπορεί να περιέχει εύρη, όπως a-z, που σημαίνει οποιονδήποτε χαρακτήρα εντός του εύρους, συμπεριλαμβανομένων των άκρων του εύρους.
  • [^…] (σε αγκύλες ένα σύμβολο άρνησης ακολουθούμενο από έναν ή περισσότερους χαρακτήρες): Οποιοσδήποτε μεμονωμένος χαρακτήρας εκτός από αυτούς που αναφέρονται μετά το σύμβολο άρνησης.

Οποιοδήποτε άλλο σύμβολο σημαίνει τον εαυτό του και δεν φέρει κανένα πρόσθετο φορτίο. Εάν είναι απαραίτητο να γράψετε έναν από τους χαρακτήρες που αναφέρονται ως τον εαυτό του, τότε πρέπει να προηγείται<Спецсимвол>. Εγώ ο ίδιος<Спецсимвол>(οποιοσδήποτε κατάλληλος χαρακτήρας) ορίζεται στην ίδια πρόταση μετά λέξη-κλειδίΕΙΔΙΚΟ ΣΥΜΒΟΛΟ.

Η συμβολοσειρά είναι ένας από τους πρωτόγονους τύπους δεδομένων στα συστήματα 1C:Enterprise 8. Μεταβλητές με τύπο γραμμήπεριέχουν κείμενο.

Πληκτρολογήστε μεταβλητές τιμές γραμμήείναι μέσα διπλά εισαγωγικά. Πολλαπλές Μεταβλητές αυτού του τύπουμπορεί να διπλωθεί.

Per1 = "Λέξη 1" ;
Per2 = "Λέξη 2" ;
Per3 = Per1 + " " + Per2 ;

Τελικά Per3θα έχει σημασία" Λέξη 1 Λέξη 2″.

Επιπλέον, τα συστήματα 1C:Enterprise 8 παρέχουν λειτουργίες για εργασία με χορδές. Εξετάστε τα κύρια:

EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — η συνάρτηση προορίζεται να εμφανίσει ένα παράθυρο διαλόγου στο οποίο ο χρήστης μπορεί να καθορίσει μια τιμή μεταβλητή τύπου Γραμμή. Παράμετρος <Строка> απαιτείται και περιέχει το όνομα της μεταβλητής στην οποία θα γραφτεί η συμβολοσειρά που εισάγατε. Παράμετρος <Подсказка> προαιρετικός είναι ο τίτλος του πλαισίου διαλόγου. Παράμετρος <Длина> προαιρετικό, υποδεικνύει το μέγιστο μήκος της συμβολοσειράς εισόδου. Η προεπιλογή είναι μηδέν, που σημαίνει απεριόριστο μήκος. Παράμετρος <Многострочность> προαιρετικός. Καθορίζει τη λειτουργία εισαγωγής κείμενο πολλών γραμμών: True - εισάγετε κείμενο πολλών γραμμών με διαχωριστικά γραμμών. False - Εισαγάγετε μια απλή συμβολοσειρά.

Μπορείτε να εισαγάγετε μια συμβολοσειρά και, γνωρίζοντας τον κωδικό χαρακτήρα στο Unicode:

Σύμβολο(<КодСимвола>) — Ο κωδικός εισάγεται ως αριθμός.

Letter= Symbol(1103 ) ; // ΕΓΩ

Υπάρχει επίσης αντίστροφη συνάρτηση, που σας επιτρέπει να μάθετε τον κωδικό ενός χαρακτήρα.

SymbolCode(<Строка>, <НомерСимвола>) — Επιστρέφει τον αριθμό Unicode του καθορισμένου χαρακτήρα ως αριθμό.

Λειτουργίες μετατροπής πεζών κειμένου:

VReg(<Строка>) - μετατρέπει όλους τους χαρακτήρες της συμβολοσειράς σε κεφαλαίο.

HReg(<Строка>) - Μετατρέπει όλους τους χαρακτήρες μιας συμβολοσειράς σε πεζά.

Treg(<Строка>) - μετατρέπει όλους τους χαρακτήρες της συμβολοσειράς σε περίπτωση τίτλου. Δηλαδή, τα πρώτα γράμματα σε όλες τις λέξεις μετατρέπονται σε κεφαλαία και τα υπόλοιπα γράμματα σε πεζά.

Λειτουργίες αναζήτησης και αντικατάστασης χαρακτήρων σε μια συμβολοσειρά:

Εύρημα(<Строка>, <ПодстрокаПоиска>) - βρίσκει τον αριθμό χαρακτήρων της εμφάνισης της υποσυμβολοσειράς αναζήτησης. Για παράδειγμα:

Εύρεση ("String" , "eye" ); // 4

StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — βρίσκει τον αριθμό χαρακτήρων της εμφάνισης της υποσυμβολοσειράς αναζήτησης, ο αριθμός εμφάνισης καθορίζεται στην αντίστοιχη παράμετρο. Σε αυτήν την περίπτωση, η αναζήτηση ξεκινά από τον χαρακτήρα, ο αριθμός του οποίου καθορίζεται στην παράμετρο Θέση εκκίνησης.Η αναζήτηση είναι δυνατή από την αρχή ή από το τέλος της συμβολοσειράς. Για παράδειγμα:

Number4 Entry= StrFind( "αμυντικότητα", "o" , Κατεύθυνση αναζήτησης. Πρώτα, 1, 4); // 7

StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Βρίσκει όλες τις εμφανίσεις της υποσυμβολοσειράς αναζήτησης στη συμβολοσειρά πηγής και την αντικαθιστά με την υποσυμβολοσειρά αντικατάστασης.

StrReplace("String" , "eye" , "" ); // Σελίδα

Κενή γραμμή(<Строка>) - ελέγχει τη συμβολοσειρά για σημαντικούς χαρακτήρες. Εάν δεν υπάρχουν σημαντικοί χαρακτήρες ή δεν υπάρχουν καθόλου χαρακτήρες, τότε η τιμή επιστρέφεται Αληθής. Σε διαφορετική περίπτωση - Ψέμα.

StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – υπολογίζει τον αριθμό των εμφανίσεων της υποσυμβολοσειράς αναζήτησης στη συμβολοσειρά προέλευσης.

StrNumberOccurrences ( "Μελέτη, μελέτη και μελέτη ξανά", "μελέτη" , "" ) ; // 3

StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — αντικαθιστά τις παραμέτρους στη συμβολοσειρά με αριθμό. Η συμβολοσειρά πρέπει να περιέχει δείκτες αντικατάστασης της μορφής: "%1..%N". Η αρίθμηση των δεικτών ξεκινά από το 1. Εάν η τιμή της παραμέτρου Απροσδιόριστος, η κενή συμβολοσειρά αντικαθίσταται.

StrPattern ( "Επιλογή 1 = %1, Επιλογή 2 = %2", "1" , "2" ) ; // Παράμετρος 1= 1, Παράμετρος 2 = 2

Συναρτήσεις μετατροπής συμβολοσειρών:

Ενα λιοντάρι(<Строка>, <ЧислоСимволов>) επιστρέφει τους πρώτους χαρακτήρες της συμβολοσειράς.

Σωστά(<Строка>, <ЧислоСимволов>) - επιστρέφει τους τελευταίους χαρακτήρες της συμβολοσειράς.

Τετάρτη(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - επιστρέφει μια σειρά μήκους<ЧислоСимволов>, ξεκινώντας με ένα σύμβολο<НачальныйНомер>.

Abbr(<Строка>) κόβει ασήμαντους χαρακτήρες στα αριστερά του πρώτου σημαντικό σύμβολοστη γραμμή.

abbr(<Строка>) - κόβει ασήμαντους χαρακτήρες στα δεξιά του τελευταίου σημαντικού χαρακτήρα της συμβολοσειράς.

Abbrl(<Строка>) - κόβει τους μη σημαντικούς χαρακτήρες στα αριστερά του πρώτου σημαντικού χαρακτήρα της συμβολοσειράς και στα δεξιά του τελευταίου σημαντικού χαρακτήρα της συμβολοσειράς.

StrGetString(<Строка>, <НомерСтроки>) – παίρνει τη συμβολοσειρά μιας συμβολοσειράς πολλών γραμμών κατά αριθμό.

Αλλα χαρακτηριστικά:

StrLength(<Строка>) - επιστρέφει τον αριθμό των χαρακτήρων σε μια συμβολοσειρά.

StrΑριθμός Γραμμών(<Строка>) - επιστρέφει τον αριθμό των σειρών σε μια συμβολοσειρά πολλών γραμμών. Μια γραμμή θεωρείται νέα εάν διαχωρίζεται από την προηγούμενη γραμμή με χαρακτήρα νέας γραμμής.

StrCompare(<Строка1>, <Строка2> ) - συγκρίνει πεζά δύο χορδών χωρίς ευαισθησία. Η συνάρτηση λειτουργεί σαν αντικείμενο Σύγκριση αξιών. Επιστροφές:

  • 1 - εάν η πρώτη γραμμή είναι μεγαλύτερη από τη δεύτερη
  • -1 - εάν η δεύτερη γραμμή είναι μεγαλύτερη από την πρώτη
  • 0 - αν οι χορδές είναι ίσες

StrCompare("Πρώτη σειρά" , "Δεύτερη σειρά" ); // 1