У 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-додатках.