Mavzu: C++Dasturlash tillarida satrlar bilan ishlash string turi va uning funksiyalari Bajardi: Chutbayev Bahodirjon


Download 57,79 Kb.
bet2/6
Sana09.04.2023
Hajmi57,79 Kb.
#1346993
1   2   3   4   5   6
Bog'liq
Bahodirjon

Topshiriqni bajarishga oldim:
________________________________________________________________
(familiyasi, ismi, sharifi)
Topshiriq berilgan sana: 2022 y.

Reja:
Kirish

  1. C++ dasturlash tilida satrlar bilan ishlash

  2. String turi va uning funksiyalari

  3. String ustida amallar

  4. String metodlari

Xulosa
Foydalanilgan adabiyotlar


KIRISH
Hozirgi kunda respublikamizdagi texnika oliy o`quv yurtlarida “Informatika va axborot texnologiyalari” yo`nalishi va mutaxassisliklariga turli xil dasturlash tillarini o`rgatish mo`ljallangan. Vаqt o‘tishi bilаn kоmpyutеrlаr tоbоrа kеngrоq qo‘llаnа bоshlаdi hаmdа yuqоrirоq dаrаjаdаgi prоtsеdurа dasturlash tillаri pаydо bo‘ldi.
Bizga ma`lumki, dasturlash tillarining yuzdan ortiq ko`rinishlari mavjud, lekin qo`llanilishi ko`lamiga qarab C/C++ va C# dasturlash tillari yuqori dasturlash sinfiga mansubdir.
Mutaxassislarning fikriga ko`ra C++ dasturlash tili Assembler dasturlash tiliga eng yaqin bo`lib, tezlik jihatidan 10 % ortda qolar ekan.
Keyingi yillarda amaliy dasturchilarga juda ko`p integratsion dastur tuzish muhitlari taklif etilmoqda. Bu muhitlar u yoki bu imkoniyatlari bilan bir–biridan farq qiladi. Aksariyat dasturlashtirish muhitlarining fundamental asosi C/C++ tiliga borib taqaladi.
Ushbu kurs ishi hozirgi kunda komp’yuterda berilgan masalalarni dasturlash tillari orqali echih va dasturlashda strukturalar, strukturali massivlar va ko’rsatgichli strukturalar bilan ishlash hamda boshqa o’eklar bilan ishlash kabi ko’nikmalarni o`rganishga bag’shlanadi.

C++ dasturlash tilida satrlar bilan ishlash
Assalomu alaykum hurmatli bo'lajak dasturchi bugun siz bilan satrlar haqida gaplashamiz. Matnni saqlash uchun satrlar ishlatiladi. satrlarni saqlash uchun string tipiga tegishli bo'ladi satrlar qo'shtirnoq ichida yoziladi. Misol uchun: string name = "MasterSherkulov";
Turli o'zgaruvchini yarating stringva unga qiymat bering:
string greeting = "Hello World. UzbekDevs";
Satrlardan foydalanish uchun siz qo'shimcha kod sarlavhasini manba kodiga, kutubxonaga kiritishingiz kerak:
#include
#include
using namespace std;
int main() {
string greeting = "Hello World. MasterSherkulov.";
return 0;
String ulanishi (bog'lash)
+Operatori orqali ikki satrni ulash imkoniyatiga ega bo'lasiz. Bu esa ikki satrni bog'lash deyiladi.
string firstName = "Master";
string lastName = "Sherkulov";
string fullName = firstName + lastName;
cout << fullName;
MasterSherkulov
Yuqorida biz Master va Sherkulov ni qo'shdik. lekin bizda natija qo'shib chiqardi MasterSherkulov endi alohida chiqarish uchun qanday amal bararishmizni esda saqlang. Siz tirnoq ( " "yoki ' ') bilan bo'sh joy qo'shishingiz mumkin.
string firstName = "Master";
string lastName = "Sherkulov";
string fullName = firstName + " " + lastName;
cout << fullName;
Master Sherkulov
C++ dasturlash tilida satr obyekt bo'lib, u satrlarda ma'lum operatsiyalarni bajarish uchun bajarishi mumkin bo'lgan funksiyalarni o'z ichiga oladi. Unutmang funksiyalardan foydalanishingiz uchun ma'lum bir tegishli funksiyalardan foydalanishingiz zarur bo'ladi. kutubxona siz ham yaratishingiz mumkin lekin sizning yaratgan kutubxona standart bo'lmaydi. boshqa IDE larda yoki dasturlarda ishlamasligi mumkin. Masalan, siz append()funktsiyani yordamida satrlarni bog'lashingiz mumkin:
string firstName = "Master ";
string lastName = "Sherkulov";
string fullName = firstName.append(lastName);
cout << fullName;
Siz hohlagan shulardan +yoki append() biridan foydalanishingiz mumkin. Bulardan asosiy farqi shundaki biri funksiya hisoblanadi va bu funksiya ancha tezroq ishlaydi. Siz sinov uchun + dan foydalanishingiz mumkin.
Satr uzunligi.
Qator uzunligini olish uchun length()funktsiyadan foydalaning :
string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cout << "Bu txt satri uzunligi: " << txt.length();
Bu txt satri uzunligi: 26
Eslatma: Satr size()uzunligini olish uchun funktsiyadan foydalanadigan ba'zi C ++ dasturlarini ko'rishingiz mumkin . Bu shunchaki taxallus length(). Foydalanishni xohlasangiz length() yoki size()
string txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
cout << "Bu txt satri uzunligi: " << txt.size();
Bu txt satri uzunligi: 26
Satrni kiritish.
>> va cinbirga qo'llab satrlarni kiritish imkoniyati mavjud.
string firstName;
cout << "Ismingizni kiriting: ";
cin >> firstName; // bunda faqat bitta satr ni oladi
cout << "Sizning ismingiz: " << firstName;
Agar siz yuqoridagi kodni ishga tushurib Master Sherkulov ni kiritsangiz chiqarish vaqtida siz faqat Master so'zi chop etib chiqaradi. bunday holarni bartaraf qilish uchun. getline() funsiyasidan foydalanishingiz mumkin. Bunda bo'sh ' ' satrni ham oladi. Unutmang getline() faqat bitta qatorni o'qishgina mujjallangan enter tugmasini bosganingizdagina kiritish tugallanadi va fist name deb usha qatorni qabul qiladi.

C++ da satrlar bilan ishlashni qulaylashtirish uchun string sinfi kiritilgan. string sinfi satrlarida satr oxirini '\0' belgisi belgilamaydi.


Standart kutubxonadagi string sinfidan foydalanish uchun sarlavha faylini dasturga qo'shish kerak.
C tilida kompilyatorlarda yoki sarlavha faylini qo'shish kerak bo'ladi. Oddiy usuldagi satrlar bilan ishlash uchun esa, sarlavha fayli qo'shiladi.
Eng afzali, o'zingiz ishlatayotgan kompilyator bilan yaxshilab tanishib chiqing.
Satrlar bilan ishlovchi asosiy funksiyalar bilan tanishib chiqamiz.
Satr хususiyatlarini aniqlash uchun quyidagi funksiyalardan
foydalanish mumkin:
unsigned int size() const; // satr o’lchami
unsigned int length() const; // satr elеmеntlar sоni
unsigned int max_size() const; // satrning maksimal uzunligi
unsigned int capacity() const; // satr egallagan хоtira hajmi
bool empty() const; // satrning bo’shligini
aniqlash
Satrning uzunligini aniqlash uchun length() yoki size()
funksiyalaridan foydalanish mumkin.
Misol: Satr uzunligini aniqlash dasturi
#include
#include
int main()
string s;
cout << "Satr kiriting" << endl;
getline(cin, s);
cout << "Siz kiritgan satr " << s.length() << " ta belgidan iborat";
cout << "Siz kiritgan satr " << s.size() << " ta belgidan iborat";
system ("pause");
return 0;
Satr uzunligini o'zgartirish uchun resize funksiyasidan foydalaniladi.
1) void resize ( size_t n, char c );
2) void resize ( size_t n );
#include
#include
int main()
size_t n;
string str ("C++ matn kodi so`zi");
cout << str << endl;
// satr uzunligini aniqlash
n = str.size();
// satr uzunligini 2 ta belgiga uzaytirish
str.resize (n + 2, '+');
cout << str << endl;
//satr uzunligini o'zgartirish
str.resize(14);
cout << str << endl;
system ("pause");
return 0;
void clear(); - funksiyasi satrni tozalash (to'liq o'chirish) uchun ishlatiladi.
bool empty() const; - funksiyasi satrni bo'shligini tekshirish uchun ishlatiladi. Agar
satr bo'sh bo'lsa, true qiymat qaytaradi.
Satrning biror qismidan nusxa olish
string& assign ( const string &str );
Satrga str o'zgaruvchisidagi satrning to'liq nusxasini olish.
string& assign ( const string& str, size_t pos, size_t n );
Satrga str o'zgaruvchisidagi satrning pos o'rindagi belgisidan boshlab n ta belgi
nusxasini olish.
string& assign ( const char* s, size_t n );
string toifasidagi satrga char toifasidagi satrning n ta belgisi nusxasini olish.
string s1, s2, s3;
s1 = "tami.uz";
s2.assign(s1); // s2 = "tami.uz"
s3.assign(s1, 0, 4); // s3 = "tami"
append funksiyasining assigndan farqi satrning davomiga satr qismining qo'shishidadir.
string& append ( const string& str );
string& append ( const string& str, size_t pos, size_t n );
string& append ( const char* s, size_t n );
Satrdan nusxa olish
#include
#include
int main()
string s1, s2, s3;
s1 = "rdvatami";
s2.assign(s1, 0, 2); // s2 = "rd"
s3.assign(s1, 4, 4); // s3 = "tami"
cout << s1 << endl;
cout << s2 << endl;
cout << s3 << endl;
s1 = s3 + s2; // s1 = "tamird"
cout << s1 << endl;
s2.append(s3); // s2 = " rdvatami "
cout << s2 << endl;
system ("pause");
return 0;
char toifasidagi satrni string toifasiga o'tkazish. clear funksiyasiga misol.
#include
#include
int main()
char c[100];
string s = "Boshlang'ich qiymat";
s.clear(); // s ning qiymati tozalandi
cout << "Satr kiriting" << endl;
cin.getline(c, sizeof(c));
// s satriga char toifasidagi c satrini nusxasini olish
s.assign(c, strlen(c));
cout << s << endl;
system ("pause");
return 0;
string toifasidagi satrni char toifasiga o'tkazish
string toifasidagi satrni char toifasiga o'tkazish uchun c_str yoki data funksiyalaridan foydalanish mumkin.
const char * c_str() const;
const char * data() const;
Bularning bir - biridan farqi, data funksiyasida satr oxiriga '\0' satr oxiri belgisi
qo'shilmaydi.
#include
#include
#include
int main()
char c[100];
string s;
cout << "Satr kiriting" << endl;
getline(cin, s);
strcpy(c, s.c_str());
cout << c << endl;
system ("pause");
return 0;
Satrning biror qismini o’ chirish
erase(unsigned int pos=0, unsigned int n=npos);
erase funksiyasi satrni pos o'zgaruvchisida ko'rsatilgan o'rindan boshlab n ta belgini o'chiradi.
Agar nechta belgi o'chirilishi n ko'rsatilmagan bo'lsa, pos o'zgaruvchisida ko'rsatilgan o'rindan boshlab satr oxirigacha o'chiriladi.
Agar pos va n ko'rsatilmagan bo'lsa, satr to'liq o'chiriladi.
#include
#include
int main()
string s = "Assalomu alaykum bo'lajak dasturchilar";
cout << s << endl;
// 16 - belgidan boshlab 9 ta belgini o'chirish
s.erase(16, 9);
cout << s << endl; // Assalomu alaykum dasturchilar - chiqadi
// s = "Assalomu alaykum dasturchilar";
// 16 - belgidan boshlab satr oxirigacha o'chirish
s.erase(16);
cout << s << endl; // Assalomu alaykum - chiqadi
s.erase();
cout << s << endl; // bo'sh satr chiqariladi
system ("pause");
return 0;
Satrni satr orasiga qo'shish
Biror satrga boshqa satrning istalgan qismini qo'shish uchun insert funksiyasidan
foydalaniladi.
insert(unsigned int pos1, const string &str); Satrga pos1 o'rindan boshlab, str satrini qo'shish. insert(unsigned int pos1, const string &str, unsigned int pos2,unsigned int n);
Satrga pos1 o'rindan boshlab, str satrining pos2 o'rnidan boshlab n ta belgini qo'shish.
insert(unsigned int pos1, const char *str, int n);
Satrga pos1 o'rindan boshlab, char toifasidagi satrning n ta belgisini qo'shish.
#include
#include
int main()
string s = "Assalomu alaykum do'stlar";
string c = "Merhibon_va_muhtarama_ayollar";
char p[] = "Salomlashish odobi";
cout << s << endl;
// 17 - belgidan boshlab yangi satrni qo'shish
s.insert(17, "aziz_");
cout << s << endl; // Assalomu alaykum aziz do'stlar
// c satridan 8 - belgidan boshlab 10 ta belgi qo'shish
s.insert(21, c, 8, 10);
cout << s << endl; // Assalomu alaykum aziz_va_muhtar_do'stlar
// char toifasidagi satrdan 13 ta belgini qo'shish
s.insert(0, p, 13);
cout << s << endl;
system ("pause");
return 0;
Satr qismini almashtirish
Satrning biror qismini almashtirish kerak bo'lsa, replace funksiyasidan foydalanish
mumkin.
replace (unsigned int pos1, unsigned int n1, const string &str);
replace (unsigned int pos1, unsigned int n1, const string & str, unsigned int pos2,
unsigned int n2);
replace (unsigned int pos1, unsigned int n1, const char *str, int n);
replace funksiyasi insert kabi ishlaydi, faqat qo'shilishi kerak bo'lan satrni pos1 -
o'rindan boshlab n1 ta belgi o'rniga qo'shadi.
2 ta satrni to'la almashtirish uchun swap funksiyasi ishlatilad i.
#include
#include
using namespace std;
int main()
string s = "Assalomu alaykum do'stlar";
string c = "Merhibon va muhtarama ayol";
cout << s << endl;
// 17 - belgidan boshlab 5 ta belgi o'rniga c satrni qo'shish
s.replace(17, 5, c);
cout << s << endl;
s.swap(c); // 2 ta satrni to'la almashtirish
cout << s << endl;
s.replace(0, 0, c, 0, 17);
s.erase(25);
cout << s << endl;
system ("pause");
return 0;
String 1C:Enterprise 8 tizimidagi ibtidoiy ma'lumotlar turlaridan biridir.Tiri bo'lgan o'zgaruvchilar chiziq matnni o'z ichiga oladi.
O'zgaruvchan qiymatlarni yozing chiziq qo'sh tirnoq ichiga olinadi. Bir nechta o'zgaruvchilar bu turdagi katlanishi mumkin.
Per1 = "So'z 1" ;
Per2 = "Word 2" ;
Per3 = Per1 + "" + Per2;
Natijada Per3 muhim bo'ladi" 1-so'z 2-so'z.
Bundan tashqari, 1C: Enterprise 8 tizimlari satrlar bilan ishlash funktsiyalarini ta'minlaydi. Asosiylarini ko'rib chiqing:
EnterString(<Строка>, <Подсказка>, <Длина>, <Многострочность>) — funktsiya foydalanuvchi turidagi o'zgaruvchining qiymatini belgilashi mumkin bo'lgan dialog oynasini ko'rsatish uchun mo'ljallangan Chiziq. Parametr <Строка> talab qilinadi va kiritilgan satr yoziladigan o'zgaruvchining nomini o'z ichiga oladi. Parametr <Подсказка> ixtiyoriy - dialog oynasining sarlavhasi. Parametr <Длина> ixtiyoriy, kiritish satrining maksimal uzunligini bildiradi. Standart nolga teng, bu cheksiz uzunlikni bildiradi. Parametr <Многострочность> ixtiyoriy. Ko'p qatorli matn kiritish rejimini belgilaydi: True — qator ajratgichlar bilan ko'p qatorli matn kiritish; False - oddiy qatorni kiriting.
Unicode-dagi belgilar kodini bilib, satr kiritilishi mumkin:
Belgi(<КодСимвола>) — Kod raqam sifatida kiritiladi.
Harf= Belgi(1103 ); // I
Belgining kodini topishga imkon beruvchi teskari funksiya ham mavjud.
SymbolCode(<Строка>, <НомерСимвола>) — Belgilangan belgining Unicode raqamini raqam sifatida qaytaradi.
Matn registrlarini o'zgartirish funktsiyalari:
VReg(<Строка>) - Satrdagi barcha belgilarni bosh harfga o'zgartiradi.
HReg(<Строка>) - Satrdagi barcha belgilarni kichik harflarga o'zgartiradi.
TReg(<Строка>) - satrning barcha belgilarini sarlavha registriga aylantiradi. Ya'ni, barcha so'zlardagi birinchi harflar bosh harfga, qolgan harflar esa kichik harfga aylantiriladi.
Satrdagi belgilarni qidirish va almashtirish funktsiyalari:
Topmoq(<Строка>, <ПодстрокаПоиска>) - qidiruv satrining paydo bo'lishining belgi raqamini topadi. Misol uchun:
Toping ("String", "ko'z"); // 4
StrFind(<Строка>, <ПодстрокаПоиска>, <НаправлениеПоиска>, <НачальнаяПозиция>, <НомерВхождения>) — qidiruv pastki satrining paydo bo'lishining belgi raqamini topadi, hodisa raqami mos keladigan parametrda ko'rsatiladi. Bunday holda, qidiruv soni parametrda ko'rsatilgan belgidan boshlanadi Boshlanish pozitsiyasi. Qidiruv satrning boshidan yoki oxiridan mumkin. Misol uchun:
4-raqamli yozuv = StrFind( "Himoyaviylik", "o" , Qidiruv yoʻnalishi. Birinchidan, 1 , 4 ); // 7
StrReplace(<Строка>, <ПодстрокаПоиска>, <ПодстрокаЗамены>) Manba satrida qidiruv satrining barcha takrorlanishini topadi va uni almashtiriladigan pastki qator bilan almashtiradi.
StrReplace("String" , "ko'z" , "" ); // sahifa
bo'sh qator (<Строка>) - satrda muhim belgilar mavjudligini tekshiradi. Agar muhim belgilar bo'lmasa yoki umuman belgilar bo'lmasa, qiymat qaytariladi To'g'ri. Aks holda - Yolg'on.
StrNumberOccurrences(<Строка>, <ПодстрокаПоиска>) – manba qatoridagi qidiruv pastki qatorining takrorlanish sonini hisoblab chiqadi.
StrNumberOccurrences ( "O'qing, o'qing va yana o'qing", "o'rganish" , "" ) ; // 3
StrTemplate(<Строка>, <ЗначениеПодстановки1>…<ЗначениеПодстановкиN> — parametrlarni qatorga raqam bilan almashtiradi. Satrda quyidagi shaklning almashtirish belgilari bo'lishi kerak: "% 1..% N". Markerlarni raqamlash 1 dan boshlanadi. Agar parametr qiymati Aniqlanmagan, bo'sh satr almashtiriladi.
StrPattern ( "1-variant = %1, 2-variant = %2", "1" , "2" ) ; // Parametr 1= 1, Parametr 2 = 2
String konvertatsiya qilish funktsiyalari:
sher(<Строка>, <ЧислоСимволов>) satrning birinchi belgilarini qaytaradi.
To'g'ri(<Строка>, <ЧислоСимволов>) - satrning oxirgi belgilarini qaytaradi.
chorshanba(<Строка>, <НачальныйНомер>, <ЧислоСимволов>) - uzunlikdagi qatorni qaytaradi<ЧислоСимволов>, belgi bilan boshlanadi<НачальныйНомер>.
qisqartma(<Строка>) —birinchisining chap tomonidagi ahamiyatsiz belgilarni kesib tashlaydi muhim belgi mos ravishda.
abbr(<Строка>) - satrdagi oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.
Abbrl(<Строка>) - satrdagi birinchi muhim belgining chap tomonidagi va oxirgi muhim belgining o'ng tomonidagi ahamiyatsiz belgilarni kesib tashlaydi.
StrGetString(<Строка>, <НомерСтроки>) – ko‘p qatorli qatorni raqam bo‘yicha oladi.
Boshqa xususiyatlar:
StrLength(<Строка>) - satrdagi belgilar sonini qaytaradi.
StrNumber of Lines(<Строка>) - ko'p qatorli satrlar sonini qaytaradi. Agar oldingi satrdan yangi satr belgisi bilan ajratilgan satr yangi hisoblanadi.
StrCompare(<Строка1>, <Строка2> ) - ikki qatorni katta-kichik harflarni sezmasdan solishtiradi. Funktsiya ob'ekt kabi ishlaydi Qiymatlarni solishtirish. Qaytaradi:
1 - agar birinchi qator ikkinchisidan katta bo'lsa
-1 - agar ikkinchi qator birinchisidan katta bo'lsa
0 - agar satrlar teng bo'lsa
StrCompare("Birinchi qator" , "Ikkinchi qator" ); // bitta
String turi barcha dasturlash tillarida uchraydi. Bu ibtidoiy va 1C da u bilan ishlash uchun juda ko'p funktsiyalar mavjud. Ushbu maqolada biz batafsilroq ko'rib chiqamiz turli yo'llar bilan 1C 8.3 va 8.2 da string turlari bilan misollar bilan ishlash.
Chiziq
Har qanday turdagi o'zgaruvchini satrga aylantirish uchun bir xil nomdagi "String ()" funksiyasi mavjud. Kirish parametri o'zgaruvchining o'zi bo'ladi, uning satr tasviri olinadi.
String(False) // "Yo'q"ni qaytaradi
String (12345) // "12 345" ni qaytaradi
String(CurrentDate()) //"21.07.2017 11:55:36"
Satrga faqat ibtidoiy turlarni emas, balki boshqa, masalan, katalog va hujjatlarning elementlarini ham aylantirish mumkin.
Qisqartirilgan LP, qisqartirilgan L, qisqartirilgan P
Bu funksiyalarning kirish parametrlari qator tipidagi o‘zgaruvchidir. Funktsiyalar ahamiyatsiz belgilarni (bo'shliqlar, karetaning qaytishi va boshqalar) olib tashlaydi: chap va o'ng tomondan, faqat chap tomondan va faqat o'ngdan.
abbrl("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Ikkala tomondagi bo'shliqlar o'chiriladi"
abbr("Ikkala tomondagi bo'shliqlar o'chiriladi") // "Chapdagi bo'shliqlar o'chiriladi"
abbr(" Ikkala tomondagi bo'shliqlar o'chiriladi ") // "O'ngdagi bo'shliqlar o'chiriladi"
Arslon, o'ng, o'rta
Bu funksiyalar qatorning bir qismini kesish imkonini beradi. Lion() funksiyasi belgilangan uzunlikdagi satrning chap tomonidagi qismini qaytaradi. "O'ng ()" funktsiyasi shunga o'xshash, ammo kesish o'ngda amalga oshiriladi. "Wed()" funksiyasi qator tanlanadigan belgilar raqamini va uning uzunligini belgilash imkonini beradi.
Lion("String o'zgaruvchisi", 4) // "Stro" ni qaytaradi
Right("String o'zgaruvchisi", 7) // "o'zgaruvchi"ni qaytaradi
avg("String o'zgaruvchisi", 2, 5)// "troko" ni qaytaradi
StrLength
Funktsiya satr o'zgaruvchisi tarkibidagi belgilar sonini aniqlaydi.
StrLength("Word") // bajarilish natijasi 5 raqami bo'ladi
Topmoq
Funktsiya satr o'zgaruvchisida satrning bir qismini qidirish imkonini beradi. Qaytish qiymati topilgan satr boshining o'rnini ko'rsatadigan raqam bo'ladi. Hech qanday moslik topilmasa, nol qaytariladi.
Qidiruv katta-kichik harflarga sezgir ekanligini unutmang. Agar asl satrda qidiruv satrining bir nechta takrorlanishi bo'lsa, funktsiya birinchi takrorlanishning boshlanishini qaytaradi.
Find("bir, ikki, bir, ikki, uch", "ikki") // funksiya 6 raqamini qaytaradi
Bo'sh qator
Ushbu funktsiyadan foydalanish satr bo'sh yoki yo'qligini aniqlash imkonini beradi. Bo'sh joy, karetaning qaytishi va boshqalar kabi ahamiyatsiz belgilar hisobga olinmaydi.
EmptyString("Vasiliy Ivanovich Qovoq") // funksiya False qiymatini qaytaradi
EmptyString(" ") // funksiya True qaytaradi
VReg, NReg, TReg
Bu funksiyalar qator o‘zgaruvchilarni solishtirish va konvertatsiya qilishda juda foydali. "Vreg()" asl satrni katta harf bilan, "HReg()" kichik harf bilan qaytaradi va "TReg()" uni har bir alohida so'zning birinchi belgisi bilan bo'ladigan tarzda formatlaydi. Bosh harf, va keyingi barchalari kichik bilan.
VReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "GENERAL DIRECTOR"
HReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "CEO"
TReg("GENERAL DIRECTOR") // qaytariladigan qiymat - "Bosh direktor"
StrReplace
Bu funktsiyani almashtirishga o'xshaydi matn muharrirlari. U qator oʻzgaruvchilarda bir belgi yoki belgilar toʻplamini boshqasiga almashtirish imkonini beradi.
StrReplace("qizil, oq, sariq", ",", ";") // "qizil"ni qaytaradi; Oq; sariq"
strNumberRows
Funktsiya matn o'zgaruvchisida karetaning qaytishi bilan ajratilgan qatorlar sonini aniqlash imkonini beradi.
Quyidagi misoldagi tsikl uchta aylanadan o'tadi, chunki StrNumberRows funktsiyasi 3 qiymatini qaytaradi:
Ind \u003d 1 uchun StrNumber of Lines ("Line1" + Symbols.PS + "String2" + Symbols.PS + "Line3") Loop
<тело цикла>
EndCycle;
StrGetString
Bu funksiya ko'p qatorli matn bilan xuddi oldingisi kabi ishlaydi. Bu matn o'zgaruvchisidan ma'lum bir qatorni olish imkonini beradi.
StrGetString("String1" + Symbols.PS + "String2" + Symbols.PS + "String3", 2) // "2-qator" ni qaytaradi
StrNumberOccurrences
Funktsiya qidirilayotgan satrda belgi yoki pastki qatorning takrorlanish sonini hisoblaydi.
StrNumberInstallations("a;b;c;d; ", ";") // funksiya 4 raqamini qaytaradi
Symbol va SymbolCode
Bu funksiyalar belgini uning Unicode kodi bo'yicha olish, shuningdek, ushbu kodni belgining o'zi bilan aniqlash imkonini beradi.
SymbolCode("A") // funksiya 1 040 raqamini qaytaradi
SymbolCode (1040) // funktsiya "A" ni qaytaradi
Satrlar bilan ishlashda tez-tez bajariladigan vazifalar
Satrlarni birlashtirish
Bir nechta satrlarni birlashtirish (birlashtirish) uchun qo'shish operatoridan foydalaning.
"1-qator" + "2-qator" //ikkita qatorni qo'shish natijasi "1-qator 2-qator" bo'ladi.
Konvertatsiya turi
Turni satrga, masalan, lug‘at elementiga, raqamga va hokazolarga havolani aylantirish uchun “String ()” funksiyasidan foydalanish kifoya. "ShortLP()" kabi funktsiyalar ham o'zgaruvchilarni satrga aylantiradi, lekin darhol ahamiyatsiz belgilarni kesib tashlaydi.
String (1000) // "1000" ni qaytaradi
E'tibor bering, raqamni satrga o'zgartirganda, dastur avtomatik ravishda mingni ajratib turadigan bo'sh joy qo'shadi. Bunga yo'l qo'ymaslik uchun siz quyidagi tuzilmalardan foydalanishingiz mumkin:
StrReplace(String(1000),Characters.NPP,"") // "1000"ni qaytaradi
String(Format(1000,"CH=")) // "1000"ni qaytaradi
Satrdagi iqtiboslar
Ko'pincha siz satr o'zgaruvchisiga tirnoq qo'yish zarurati bilan shug'ullanishingiz kerak bo'ladi. Bu konfiguratorda yozilgan so'rov matni yoki shunchaki o'zgaruvchi bo'lishi mumkin. Ushbu muammoni hal qilish uchun siz ikkita tirnoq belgisini o'rnatishingiz kerak.
Header = String("Horns and Hooves LLC - bu biz!") // "Roga and Hooves LLC - biz!"
Ko'p qatorli, qator uzilishi
Ko'p qatorli matn yaratish uchun unga satrlarni ajratish belgilarini (Symbols.PS) qo'shish kifoya
MultilineText = "Birinchi qator" + Belgilar.PS + "Ikkinchi qator"
Bo'shliqlarni qanday olib tashlash mumkin
O'ng yoki chapdagi bo'shliqlarni olib tashlash uchun siz "Stretch()" funksiyasidan foydalanishingiz mumkin (shuningdek, "Scrpt()" va "ScreenP()"):
StringWithoutSpaces = ShortLP(" Ko'p harf ") // funktsiya "Ko'p harf" qiymatini qaytaradi
Agar raqamni satrga aylantirgandan so'ng, siz uzilmaydigan bo'shliqlarni olib tashlashingiz kerak bo'lsa, quyidagi konstruktsiyadan foydalaning:
StringWithoutSpaces = StrReplace(String(99999),Characters.NPP,"") // "99999"ni qaytaradi
Bundan tashqari, dasturchilar ko'pincha matn o'zgaruvchisining barcha bo'shliqlarini olib tashlash yoki boshqa belgi bilan almashtirish imkonini beruvchi quyidagi konstruktsiyadan foydalanadilar:
StringWithoutSpaces = StrReplace(" salom", " " ,"") // "salom"ni qaytaradi
Iplarni bir-biri bilan solishtirish
Siz atamalarni odatdagi tenglik belgisi bilan solishtirishingiz mumkin. Taqqoslash katta-kichik harflarga sezgir.
"salom" = "salom" // yolg'onni qaytaradi
"Salom" = "Salom" // "To'g'ri" ni qaytaradi
"Salom" = "Alvido" // False qiymatini qaytaradi
Looking Glassdan eslatmalar
18/08/2014 Satrlar bilan ishlash uchun yangi funksiyalar
8.3.6.1977 versiyasida amalga oshirilgan.
Biz satrlar bilan ishlash uchun funktsiyalar to'plamini kengaytirdik. Biz buni sizga string ma'lumotlarini tahlil qilish uchun yanada ilg'or vositalarni taqdim etish uchun qildik. Yangi funktsiyalar matnni tahlil qilishning texnologik vazifalarida qulay va foydali bo'ladi. Formatlangan shakldagi ma'lumotlarni o'z ichiga olgan matnni tahlil qilish bilan bog'liq vazifalarda. Bu uskunadan olingan ba'zi fayllarni tahlil qilish yoki, masalan, texnologik jurnalni tahlil qilish bo'lishi mumkin.
Yangi funksiyalar bajaradigan barcha amallarni siz oldin bajarishingiz mumkin edi. O'rnatilgan tilda yozilgan ko'p yoki kamroq murakkab algoritmlar yordamida. Shunday qilib, yangi funktsiyalar sizga mutlaqo yangi imkoniyatlar bermaydi. Biroq, ular sizga kod miqdorini kamaytirish, kodni sodda va tushunarli qilish imkonini beradi. Bundan tashqari, ular sizga harakatlarning bajarilishini tezlashtirishga imkon beradi. Chunki platformada amalga oshirilgan funksiyalar, albatta, o'rnatilgan tilda yozilgan shunga o'xshash algoritmdan tezroq ishlaydi.
Format funktsiyasi StrTemplate()
Bu funksiya parametrlarni satrga almashtiradi. Bunday konvertatsiya qilish zarurati ko'pincha, masalan, ogohlantirish xabarlarini ko'rsatishda paydo bo'ladi. Ushbu funktsiyaning sintaksisi quyidagicha:
StrTemplate(<Шаблон>, <Значение1-Значение10>)
<Шаблон>parametr tasvirlarini almashtirish uchun qatordir.
<Значение1> , ... <Значение10>- bu parametrlar (maksimal - o'nta), ularning tasvirlari qatorga almashtirilishi kerak.
Shablonda almashtirishni amalga oshirmoqchi bo'lgan aniq joyni belgilash uchun %1, ... %10 ko'rinishdagi markerlardan foydalanish kerak. Shablonga kiritilgan markerlar soni va qiymatlarni o'z ichiga olgan parametrlar soni mos kelishi kerak.
Masalan, bunday operatorni bajarish natijasi:
qator bo'ladi:
2-qatordagi maʼlumotlar xatosi (Sana turini talab qiladi)
String funktsiyasi StrCompare()
Bu funksiya ikki qatorni katta-kichik harflarni sezmasdan solishtiradi. Masalan, bu kabi:
Ob'ektni ishlatishdan oldin xuddi shu amalni bajarishingiz mumkin Qiymatlarni olishtirish:
Biroq, yangi funksiyadan foydalanish osonroq ko'rinadi. Va bundan tashqari, ob'ektdan farqli o'laroq, funktsiya Qiymatlarni solishtirish, ichida ishlaydi nozik mijoz, va veb-mijozda.
String funktsiyalari StrBeginsC(), StrEndsTo()
Bu funksiyalar satr belgilangan pastki satr bilan boshlanishini yoki satr belgilangan pastki qator bilan tugashini aniqlaydi. Ushbu funktsiyalarning algoritmini o'rnatilgan tilda amalga oshirish qiyin emas, lekin ularning mavjudligi sizga toza va tushunarli kod yozish imkonini beradi. Va ular tezroq ishlaydi.
Masalan, ularni operatorda ishlatish qulay Agar:


Download 57,79 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling