В сегодняшней серии статей о 10 лучших методах мы рассмотрим некоторые полезные служебные методы, которые имеют тип String.

Вы можете использовать эти методы в сочетании со встроенной поддержкой шаблонных литералов, что позволяет эффективно манипулировать строками:

var str1 = 'Lorem';
var str2 = '$str1 ipsum'; // String interpolation
var str3 = '''Multi
Line
$str1 $str2'''; // Multi-line strings

Начнем с этих…

1. содержит ()

Это позволяет вам проверить, существует ли указанная строка:

str1.contains('rem'); // true

2. начинается с ()

Это позволяет проверить, начинается ли строка с указанных символов:

str2.startsWith('Lorem'); // true
str3.startsWith('Noorem'); // false

3. заканчивается с ()

Проверяет, заканчивается ли строка указанными символами:

str3.endsWith('ipsum'); // true
str3.endsWith('oopsum'); // false

4. toLowerCase (), toUpperCase ()

Преобразует строку в форматы нижнего и верхнего регистра:

str1.toLowerCase(); // lorem
str1.toUpperCase(); // LOREM

5. split ()

Разбивает строку по соответствующему шаблону, возвращая список подстрок:

str3.split('\n'); // ['Multi', 'Line', 'Lorem Lorem ipsum'];

6. splitMapJoin ()

Разбивает строку, преобразует каждый элемент списка и объединяет в новую строку:

str3.splitMapJoin(RegExp(r'^', multiLine: true), // match line start
  onMatch: (m) => '**${m.group(0)} ', // add asterisk to line start
  onNonMatch: (n) => n); // leaves non matches as is
/*
Output: 

** Multi
** Line
** Lorem Lorem ipsum

*/

7. indexOf (), lastIndexOf ()

Возвращает позицию первого и последнего совпадений заданного шаблона:

str3.indexOf('rem'); // 13
str3.lastIndexOf('rem'); // 19

Оба метода также принимают необязательный параметр, определяющий индекс, с которого начинается поиск:

str3.lastIndexOf('rem', 18); // 13

8. trim ()

Удаляет начальные и конечные пробелы

"   $str2  ".trim(); // 'Lorem ipsum'

9. padLeft (), padRight ()

Дополняет строку слева и справа заданным отступом, если строка меньше указанной длины:

str1.padLeft(8, 'x'); // xxLorem
str1.padRight(8, 'x'); // Loremxx

10. replaceAll ()

Заменяет все подстроки, соответствующие указанному шаблону, на заменяющую строку:

str2.replaceAll('e', 'é'); // Lorém

Заключение

Я надеюсь, что это было проницательно, и если это ваше первое знакомство с Dart, прочтите мой Учебник по первым шагам, чтобы понять основы. Фрагменты кода для этой статьи доступны на DartPad.

Ставьте лайки, делитесь и подписывайтесь на меня 😍, чтобы увидеть больше статей о Dart. Огромное спасибо.

Дальнейшее обучение

  1. Документация по строковому классу
  2. Бесплатные скринкасты Dart на Egghead.io

✉️ Подпишитесь на рассылку еженедельно Email Blast 🐦 Подпишитесь на CodeBurst на Twitter , просмотрите 🗺️ Дорожная карта веб-разработчиков на 2018 год и 🕸️ Изучите веб-разработку с полным стеком .