Міністерство освіти і науки України
Вінницький національний технічний університет
Факультет інформаційних технологій і комп'ютерної інженерії
Кафедра комп'ютерних наук
Лабораторна робота №6
з дисципліни: "Алгоритмізація та програмування"
Тема:
методи string
Мета:
дослідити методи класу string, обрати один з методів та реалізувати
Хід роботи:
Методи
Ім'я
Опис
/
Clone()
Повертає силку на даний екземпляр класу String
//
CompareInt32) Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareBoolean) Int32, Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String (з урахуванням або без урахування регістру) і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareCultureInfo) Boolean, Int32, Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String (з урахуванням або без урахування регістру), використовуючи відомості про мову і регіональні параметри, і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareCompareOptions) CultureInfo, Int32, Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String , використовуючи задані відомості про мову і регіональні параметри, які впливають на зрівняння, і повертає ціле число, яке показує зв'язок між двома підрядками в порядку сортування
//
CompareStringComparison) Int32, Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String , використовуючи задані правила і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareString) (String,
Зрівнює підрядки двох вказаних об'єктів String і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareBoolean) String, (String,
Зрівнює підрядки двох вказаних об'єктів String (з урахуванням або без урахування регістру) і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareCultureInfo) Boolean, String, (String,
Зрівнює підрядки двох вказаних об'єктів String (з урахуванням або без урахування регістру), використовуючи задані відомості про мову і регіональні параметри, і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareCompareOptions) CultureInfo, String, (String,
Зрівнює підрядки двох вказаних об'єктів String , використовуючи задані відомості про мову і регіональні параметри, які впливають на порівняння, і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareStringComparison) String, (String,
Зрівнює підрядки двох вказаних об'єктів String , використовуючи задані правила і повертає ціле число, яке показує їх відносне положення в порядку сортування
//
CompareOrdinalInt32) Int32, String, Int32, (String,
Зрівнює підрядки двох вказаних об'єктів String , обчислюючи числове значення відповідних об'єктів Char в кожному підрядку
//
CompareOrdinalString) (String,
Зрівнює підрядки двох вказаних об'єктів String , оцінюючи числове значення відповідних об'єктів Char в кожному підрядку
/
CompareTo(Object)
Зрівнює даний екземпляр з вказаним об'єктом Object і показує, чи знаходиться екземпляр перед, після чи на тій же позиції в порядку сортування, що і заданий об'єкт Object
/
CompareTo(String)
Зрівнює даний екземпляр з вказаним об'єктом Object і показує, чи знаходиться екземпляр перед, після чи на тій же позиції в порядку сортування, що і заданий рядок
//
Concat(IEnumerable<String>)
Зкріплює елементи створеної колекції IEnumerable<T> типу String
//
Concat(Object)
Створює рядкове представлення вказаного об'єкту
//
ConcatObject) (Object,
Створює рядкове представлення двох вказаних об'єктів
//
ConcatObject) Object, (Object,
Створює рядкове представлення трьох вказаних об'єктів
//
ConcatObject) Object, Object, (Object,
Створює рядкове представлення чотирьох вказаних об'єктів і будь-які об'єкти, задані в необов'язковому списку параметрів змінної довжини
//
Concat(Object[])
Скріплює рядкові представлення елементів вказаного масиву Object
//
ConcatString) (String,
Скріплює два вказаних екземпляри String
//
ConcatString) String, (String,
Скріплює три вказаних екземпляри String
//
ConcatString) String, String, (String,
Скріплює чотири вказаних екземпляри String
//
Concat(String[])
Скріплює екземпляри масиву String
//
Concat<T>(IEnumerable<T>)
Скріплює елементи реалізації IEnumerable<T>.
/
Contains(String)
Повертає значення, яке вказує, чи містить вказаний рядок значення підрядка переданого в якості параметру
//
Copy(String)
Створює екземпляр String, який має теж значення, що і екземпляр String
/
CopyToInt32) Int32, Char[], (Int32,
Копіює вказане число символів починаючи з вказаної позиції в даному екземплярі у вказану позицію масиву символів Юнікоду
/
EndsWith(String)
Визначає, чи співпадає кінець даного екземпляру рядка з вказаним рядком
/
EndsWithCultureInfo) Boolean, (String,
Визначає, чи співпадає кінець даного екземпляру рядка з вказаним рядком при зрівнянні з урахуванням заданої мови і регіональних параметрів
/
EndsWithStringComparison) (String,
Визначає, чи співпадає кінець даного екземпляру рядка з вказаним рядком при зрівнянні з урахуванням заданого параметру порівняння
/
Equals(Object)
Визначає, чи рівні значення цього екземпляру, який також повинен бути об'єктом String (переоприділяє Object.Equals(Object))
/
Equals(String)
Визначає, чи рівні значення цього екземпляру, який також повинен бути об'єктом String
//
EqualsString) (String,
Визначає, чи рівні значення двох вказаних об'єктів String
//
EqualsStringComparison) String, (String,
Визначає, чи рівні значення двох вказаних об'єктів String.Параметр визначає мову і регіональні параметри, враховує регістр і правила сортування, які використовує при порівнянні
/
EqualsStringComparison) (String,
Визначає, чи рівні значення цього рядка і вказаного об'єкту String. Параметр визначає мову і регіональні параметри, враховує регістр і правила сортування, які використовуються при сортуванні
//
FormatObject) String, (IFormatProvider,
Заміняє елемент формату в вказаному рядку рядковим поданням відповідного об'єкту. Параметр передає відомості про особливості форматування, які зв'язані з мовою і регіональними параметрами
//
FormatObject) Object, String, (IFormatProvider,
Заміняє елемент формату в вказаному рядку рядковим поданням двох вказаних об'єктів. Параметр передає відомості про особливості форматування, які зв'язані з мовою і регіональними параметрами
//
FormatObject) Object, Object, String, (IFormatProvider,
Заміняє елемент формату в вказаному рядку рядковим поданням трьох вказаних об'єктів. Параметр передає відомості про особливості форматування, які зв'язані з мовою і регіональними параметрами
//
FormatObject[]) String, (IFormatProvider,
Заміняє елементи формату в вказаному рядку рядковим поданням відповідних об'єктів у вказаному масиві. Параметр передає відомості про особливості форматування, які зв'язані з мовою і регіональними параметрами
//
FormatObject) (String,
Заміняє один або більше елементів формату у вказаному рядку рядковим поданням вказаного об'єкту
//
FormatObject) Object, (String,
Заміняє один або більше елементів формату у вказаному рядку рядковим поданням двох вказаних об'єктів
//
FormatObject) Object, Object, (String,
Заміняє один або більше елементів формату у вказаному рядку рядковим поданням трьох вказаних об'єктів
//
FormatObject[]) (String,
Заміняє один або більше елементів формату у вказаному рядку рядковим поданням відповідного об'єкту у вказаному масиві
/
GetEnumerator()
Вилучає об'єкт, який може виконати ітерацію окремих знаків даного рядка
/
GetHashCode()
Повертає хеш-код для цього рядка (переоприділяє Object.GetHashCode())
/
GetType()
Повертає об'єкт Type для цього екземпляру (наслідується від Object)
/
GetTypeCode()
Повертає TypeCode для класу String
/
IndexOf(Char)
Повертає індекс зі звітом від нуля першого входження вказаного символу Юнікоду в даному рядку
/
IndexOfInt32) (Char,
Повертає індекс зі звітом від нуля першого входження вказаного символу Юнікоду в даному рядку. Пошук починається зі вказаної позиції знаків
/
IndexOfInt32) Int32, (Char,
Повертає індекс зі звітом від нуля першого входження вказаного символу Юнікоду в даному рядку. Пошук починається зі вказаної позиції знаків, перевіряється задана кількість позицій
/
IndexOf(String)
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному екземплярі
/
IndexOfInt32) (String,
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному екземплярі. Пошук починається зі вказаної позиції знаків
/
IndexOfInt32) Int32, (String,
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному екземплярі. Пошук починається зі вказаної позиції знаків, перевіряється задана кількість позицій
/
IndexOfStringComparison) Int32, Int32, (String,
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному об'єкті String. Параметри задають початкову позицію пошуку в цьому рядку, кількість знаків, які перевіряються і тип пошуку
/
IndexOfStringComparison) Int32, (String,
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному об'єкті String. Параметри задають початкову позицію пошуку в цьому рядку і тип пошуку
/
IndexOfStringComparison) (String,
Повертає індекс зі звітом від нуля першого входження вказаного рядка в даному об'єкті String. Параметри оприділяють тип пошуку даного рядка
/
IndexOfAny(Char[])
Повертає індекс зі звітом першого знайденого в даному екземплярі символу з вказаного масиву символів Юнікод
/
IndexOfAnyInt32) (Char[],
Повертає індекс зі звітом першого знайденого в даному екземплярі символу з вказаного масиву символів Юнікод. Пошук починається зі вказаної позиції знаку
/
IndexOfAnyInt32) Int32, (Char[],
Повертає індекс зі звітом першого знайденого в даному екземплярі символу з вказаного масиву символів Юнікод. Пошук починається зі вказаної позиції знаку, перевіряє задану кількість позицій
/
InsertString) (Int32,
Повертає новий рядок, в якому вказаний рядок вставляється у вказану позицію індексу в даному екземплярі
//
Intern(String)
Витягує системну силку на вказаний об'єкт String
//
IsInterned(String)
Витягує силку на вказаний об'єкт String
/
IsNormalized()
Вказує, чи знаходиться даний рядок у формі нормалізації Юнікод С
/
IsNormalized(NormalizationForm)
Вказує, чи знаходиться даний рядок в заданій формі нормалізації Юнікод
//
IsNullOrEmpty(String)
Вказує, чи являється даний рядок рядком null чи Empty
//
IsNullOrWhiteSpace(String)
Вказує, чи має вказаний рядок значення null, чи є він пустим рядком чи рядком, який складається тільки з символів-розділювачів
//
JoinIEnumerable (String,<String>)
Зкріплює елементи створеної колекції IEnumerable<T> типу String, поміщає між ними заданий розділювач
//
JoinObject[]) (String,
Зкріплює елементи масиву об'єктів, поміщає між ними заданий розділювач
//
JoinString[]) (String,
Зкріплює всі елементи масиву рядків, поміщає між ними заданий розділювач
//
JoinInt32) Int32, String[], (String,
Зкріплює вказаний елемент масиву рядків, поміщає між ними заданий розділювач
//
Join<T>IEnumerable (String,<T>)
Зкріплює елементи створеної колекції, поміщає між ними заданий розділювач
/
LastIndexOf(Char)
Повертає позицію індексу зі звітом від нуля останнього надходження вказаного символу Юнікод в межах даного екземпляру
/
LastIndexOfInt32) (Char,
Повертає позицію індексу зі звітом від нуля останнього надходження вказаного символу Юнікод в межах даного екземпляру. Пошук починається зі вказаної позиції символу і виконується в зворотному порядку до початку рядка
/
LastIndexOfInt32) Int32, (Char,
Повертає позицію індексу зі звітом від нуля останнього надходження вказаного символу Юнікод в межах даного екземпляру. Пошук починається зі вказаної позиції символу і виконується в зворотному порядку до початку рядка для заданого числа позицій символів
/
LastIndexOf(String)
Повертає позицію символу індексу зі звітом від нуля останнього надходження вказаного рядка в даному екземплярі
/
LastIndexOfInt32) (String,
Повертає позицію символу індексу зі звітом від нуля останнього надходження вказаного рядка в даному екземплярі. Пошук починається з указаної позиції символу і виконується в зворотному порядку до початку рядка
/
Normalize()
Повертає новий рядок, текстове значення якого співпадає з даним рядком, а двійкове представлення знаходиться в нормальній формі С Юнікоду
/
Normalize(NormalizationForm)
Повертає новий рядок, текстове значення якого співпадає з даним рядком, а двійове представлення знаходиться в заданій нормалізованій формі Юнікод
/
PadLeft(Int32)
Повертає новий рядок, в якому знаки даного екземпляру вирівняні по правому краю шляхом додавання зліва символів-розділювачів до вказаної загальної довжини
/
PadLeftChar) (Int32,
Повертає новий рядок, в якому знаки даного екземпляру вирівняні по правому краю шляхом додавання зліва пробілів або вказаного знаку Юнікод до вказаної загальної довжини
/
PadRight(Int32)
Повертає новий рядок. в якому знаки даного рядка вирівняні по лівому краю шляхом додавання справа символів-розділювачів до вказаної загальної довжини
/
PadRightChar) (Int32,
Повертає новий рядок. в якому знаки даного рядка вирівняні по лівому краю шляхом додавання справа пробілів або вказаного знаку Юнікод до вказаної загальної довжини
/
Remove(Int32)
Повертає новий рядок, в якому були видалені всі символи, починаючи з вказаної позиції і до кінця в цьому екземплярі
/
RemoveInt32) (Int32,
Повертає новий рядок, в якому було видалено вказане число символів у вказаній позиції
/
ReplaceChar) (Char,
Повертає новий рядок, в якому всі надходження заданого знаку Юнікод в цьому екземплярі замінені іншим заданим знаком Юнікод
/
ReplaceString) (String,
Повертає новий рядок, в якому всі надходження заданого знаку Юнікод в цьому екземплярі замінені іншим заданим рядком
/
Split(Char[])
Розбиває рядок на підрядки в залежності від символів в масиві
/
SplitInt32) (Char[],
Розбиває рядок на максимальне число підрядків в залежності від символів в масиві. Можна також вказати максимальне число підрядків, які повертаються
/
StartsWith(String)
Оприділяє, чи співпадає початок даного екземпляру рядка з вказаним рядком
/
StartsWithStringComparison) (String,
Оприділяє, чи співпадає початок цього екземпляру рядка з заданим рядком при зрівнянні з урахуванням заданого параметру порівняння
/
Substring(Int32)
Вилучає підрядок з даного екземпляру. Підрядок починається у вказаному положенні символів і продовжується до кінця рядка
/
ToCharArray()
Копіює знаки даного екземпляру в масив знаків Юнікод
/
ToLower()
Повертає копію даного рядка, переведеного в нижній регістр
/
ToLowerInvariant()
Повертає копію об'єкта String, переведеного в нижній регістр, використовуючи правила врахування регістру інваріантнох мови і регіональних параметрів
/
ToString()
Повертає цей екземпляр String; реальне перетворення не відбувається (переоприділяє Object.ToString().)
/
ToUpper()
Повертає копію цього рядка переведеного в верхній регістр
/
Trim()
Видаляє всі початкові та кінцеві символи-розділювачі з цього об'єкту String
/
Trim(Char[])
Видаляє всі початкові та кінцеві надходження набору знаків. заданого у вигдялімасиву, з цього об'єкту String
Задача
Нехай нам необхідно сформувати текстовий файл, потім переписати з даного файлу в інший тільки ті рядки, які починаються з букв "А" або "а".
Нам знадобляться дві файлові змінні f1 та f2, оскільки обидва файли текстові, то тип змінних буде text. Задача розбивається на два етапи:
1) формування першого файлу
2) читання першого файлу і формування другого
Код програми:
Program vubor_A;
Var f1,f2:text; I,n: integer; S: string;
Begin
Assign(f1, 'file1.txt');
Writeln('Введіть кількість бажаних елементів: ');
Rewrite(f1); Readln(n);
Writeln();
Writeln('Рядки (українською): ');
for i:=1 to n do
begin
readln(s); writeln(f1,s);
end;
close(f1); Reset(f1);
Assign(f2, 'file2.txt'); Rewrite(f2);
While not eof(f1) do
Begin
Readln(f1,s);
If (s[1]='А') or (s[1]='а') then
Writeln(f2,s);
End;
close(f1); close(f2);
Writeln;
Writeln('Файл містить: ');
Reset(f2);
While not eof(f2) do
Begin
Readln(f2,s); Writeln(s);
End;
End.
/
Рис.1 Робота програми
Висновок
String є стандартним класом, який представляє текстовий рядок. Цей клас вирішує багато проблем, що виникають при роботі з рядками, помістивши важку логіку управління пам'яттю на клас string, а не на програміста, і дозволили додавати NUL байт у строку. Клас реалізує деякі типові операції з рядками такі як порівняння, конкатенація, пошук і заміна, і функцію для отримання підрядків. Клас може бути побудований із рядка, а рядок може бути отриманий з підрядків.
Рядки складаються з окремих символів char, які як мінімум (і майже завжди) містять 8 бітів кожен. В сьогоднішньому застосуванні це часто не є "символом", а частиною багатобайтового кодування символів, такого як UTF8.