Тема 9. Робота з тестом у C#
C#, текст, string, StringBuilder, регулярні вирази, LINQ, обробка тексту, форматування, заміна, пошук, робота з рядками, маніпуляції з текстом, C# string methods.
Вступ
Робота з текстовими даними є невід’ємною частиною програмування. У C# для цього використовується низка вбудованих класів та методів, які дозволяють ефективно обробляти, аналізувати та змінювати рядки.
Основи роботи з рядками
У C# рядки представляються типом string
, який є незмінним (immutable).
Конкатенація рядків
Також можна використовувати інтерполяцію:
Методи класу string
Найпоширеніші методи:
Length
— довжина рядка.ToUpper()
,ToLower()
— перетворення регістру.Substring()
— витяг частини рядка.Replace()
— заміна символів.IndexOf()
— пошук позиції підрядка.Split()
— розбиття рядка.
string text = "C# — сучасна мова програмування.";
Console.WriteLine(text.ToUpper());
Console.WriteLine(text.Substring(0, 2));
Console.WriteLine(text.Replace("сучасна", "потужна"));
StringBuilder — для ефективної обробки
Тип StringBuilder
з простору імен System.Text
використовується, коли потрібно багаторазово змінювати рядок.
using System.Text;
StringBuilder sb = new StringBuilder("Привіт");
sb.Append(", світе!");
Console.WriteLine(sb.ToString());
Регулярні вирази
Для пошуку за шаблоном використовують Regex
:
using System.Text.RegularExpressions;
string input = "Email: example@mail.com";
string pattern = @"\w+@\w+\.\w+";
Match match = Regex.Match(input, pattern);
if (match.Success)
{
Console.WriteLine($"Знайдено email: {match.Value}");
}
LINQ до текстових даних
Можна обробляти колекції рядків:
string[] words = { "яблуко", "банан", "абрикос" };
var filtered = words.Where(w => w.StartsWith("а"));
foreach (var word in filtered)
{
Console.WriteLine(word);
}
Форматування рядків
Форматування чисел, дат та інших даних:
double price = 1234.567;
Console.WriteLine($"Ціна: {price:F2} грн");
DateTime now = DateTime.Now;
Console.WriteLine($"Дата: {now:dd.MM.yyyy}");
Висновки
У C# є широкі можливості для роботи з текстом: - Незмінні рядки — тип string
- Гнучка обробка — методи string
, Regex
, StringBuilder
- Підтримка LINQ — для обробки колекцій тексту
Це дозволяє ефективно працювати з текстовими даними в реальних застосунках.
Завдання для самостійної роботи
- Напишіть програму, яка визначає кількість слів у введеному реченні.
- Створіть шаблон перевірки номера телефону за допомогою регулярного виразу.
- Напишіть метод, який перетворює масив слів у речення.
```