Семінари та лекції з програмного забезпечення

Підручники з програмного забезпечення => Flutter => Тема розпочата: Ruyag від Квт. 26, 2025, 11:23 AM

Назва: Методи Flutter String (Повний Посібник)
Відправено: Ruyag від Квт. 26, 2025, 11:23 AM
У Flutter, як і в мові програмування Dart, рядки (String) є одним із найпоширеніших типів даних. Вони використовуються для зберігання текстової інформації, такої як назви, повідомлення чи дані користувача. У цій статті ми розглянемо основні методи роботи з рядками в Dart, які можна використовувати в проєктах Flutter, а також надамо відповіді на поширені запитання в розділі FAQS.

Що таке String у Flutter?
У Dart рядок — це послідовність символів UTF-16. Рядки є незмінними (immutable), тобто після створення їх не можна модифікувати. Проте Dart пропонує широкий набір методів для обробки та маніпуляції рядками, що полегшує роботу з текстом.

Основні String методи в Dart
Нижче наведено список найпоширеніших методів для роботи з рядками у Flutter (Dart), з поясненнями та прикладами:

1. length
Повертає довжину рядка (кількість символів).
String text = "Привіт, Flutter!";
print(text.length); // Виведе: 16

2. toLowerCase() та toUpperCase()
Перетворює всі символи рядка в нижній або верхній регістр.
String text = "Flutter Крутий";
print(text.toLowerCase()); // Виведе: flutter крутий
print(text.toUpperCase()); // Виведе: FLUTTER КРУТИЙ

3. trim(), trimLeft(), trimRight()
Видаляє пробіли на початку та/або в кінці рядка.
String text = "  Flutter   ";
print(text.trim()); // Виведе: Flutter
print(text.trimLeft()); // Виведе: Flutter  
print(text.trimRight()); // Виведе:   Flutter

4. substring(start, [end])
Витягує підрядок із зазначеного діапазону.
String text = "Привіт, світ!";
print(text.substring(0, 6)); // Виведе: Привіт

5. replaceAll(from, to)
Замінює всі входження підрядка на інший.
String text = "Я люблю Dart!";
print(text.replaceAll("Dart", "Flutter")); // Виведе: Я люблю Flutter!

6. split(pattern)
Розділяє рядок на список підрядків за вказаним роздільником.
String text = "Flutter,Dart,Програмування";
List<String> words = text.split(",");
print(words); // Виведе: [Flutter, Dart, Програмування]

7. contains(other)
Перевіряє, чи містить рядок певний підрядок.
String text = "Flutter - це круто!";
print(text.contains("Flutter")); // Виведе: true

8. startsWith(pattern) та endsWith(pattern)
Перевіряє, чи рядок починається або закінчується певним підрядком.
String text = "Вітаю у Flutter!";
print(text.startsWith("Вітаю")); // Виведе: true
print(text.endsWith("Flutter!")); // Виведе: true

9. indexOf(pattern)
Повертає індекс першого входження підрядка.
String text = "Flutter крутий!";
print(text.indexOf("крутий")); // Виведе: 8

10. padLeft(width, [padding]) та padRight(width, [padding])
Додає символи зліва або справа, щоб досягти заданої довжини.
String text = "Flutter";
print(text.padLeft(10, "*")); // Виведе: ***Flutter
print(text.padRight(10, "*")); // Виведе: Flutter***

Практичний приклад використання
Ось приклад, як можна використати кілька методів для обробки введеного користувачем тексту у Flutter:
void processText(String input) {
  String cleanedText = input.trim().toLowerCase();
  if (cleanedText.contains("flutter")) {
    print("Текст містить слово Flutter!");
  }
  List<String> words = cleanedText.split(" ");
  print("Слова: $words");
}

void main() {
  processText("  Я люблю FLUTTER і Dart  ");
}

Виведе:
Текст містить слово Flutter!
Слова: [я, люблю, flutter, і, dart]

FAQS: Поширені запитання
1. Чи є рядки в Dart змінними?
Ні, рядки в Dart є незмінними (immutable). Кожен метод, який "змінює" рядок, насправді створює новий рядок.

2. Як перевірити, чи рядок порожній?
Використовуйте властивість isEmpty:
String text = "";
print(text.isEmpty); // Виведе: true

3. Як об'єднати кілька рядків?
Використовуйте оператор + або метод join() для списків:
String text1 = "Flutter";
String text2 = "Dart";
print(text1 + " " + text2); // Виведе: Flutter Dart

List<String> words = ["Flutter", "Dart"];
print(words.join(" ")); // Виведе: Flutter Dart

4. Чи можна порівнювати рядки в Dart?
Так, використовуйте оператор == для порівняння вмісту рядків:
String text1 = "Flutter";
String text2 = "Flutter";
print(text1 == text2); // Виведе: true

5. Як обробляти Unicode-символи в рядках?
Dart підтримує Unicode, тому ви можете працювати з емодзі чи іншими символами:
String emoji = "😊 Flutter";
print(emoji.length); // Виведе: 9 (емодзі займає 2 символи)

Висновок
Методи роботи з рядками в Dart (і, відповідно, у Flutter) є потужними та гнучкими інструментами для обробки тексту. Вони дозволяють легко маніпулювати даними, перевіряти їх і форматувати для відображення в інтерфейсі користувача. Ознайомившись із цими методами, ви зможете ефективно працювати з текстовими даними у своїх Flutter-додатках.