Сырая строка r
Сырая строка r - это строковый литерал,
перед которым ставится символ r.
В такой строке escape-последовательности
(например, \n, \t, \\)
не обрабатываются и выводятся как обычные символы.
Символ r ставится непосредственно
перед открывающей кавычкой строки.
Синтаксис
r'строка'
r"строка"
Пример
Давайте сравним обычную строку и сырую строку с одинаковым содержимым:
void main()
{
String str1 = 'abc\nde';
String str2 = r'abc\nde';
print(str1);
print(str2);
}
Результат выполнения кода:
"abc
de"
"abc\nde"
В обычной строке символы \n превратились
в перенос строки, а в сырой строке они остались
как есть - двумя отдельными символами.
Пример
Давайте выведем Windows-путь, в котором много обратных слешей, не экранируя каждый из них:
void main()
{
String path = r'C:\Users\admin\file.txt';
print(path);
}
Результат выполнения кода:
"C:\Users\admin\file.txt"
Пример
Сырая строка бывает удобна для регулярных выражений, где обратный слеш встречается часто:
void main()
{
RegExp reg = RegExp(r'\d+');
print(reg.hasMatch('12345'));
}
Результат выполнения кода:
true
Смотрите также
-
класс
String,
который представляет строки в Dart -
раздел
многострочные строки,
которые позволяют переносить текст на несколько строк -
раздел
интерполяция строк,
которая подставляет значения переменных в строку -
раздел
конкатенация строк,
которая соединяет строки в одну