Почему я получаю эту ошибку при выполнении каскада методов в Dart? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть однострочный код, который удаляет конечные и ведущие пробелы, а также заменяет несколько пробелов между ними одним пробелом. (из строки)

value = value..trim()..split(" +")..join(" ");

Однако я получаю следующую ошибку.

The method 'join' isn't defined for the type 'String'.
Try correcting the name to the name of an existing method, or defining a method named 'join'.(dartundefined_method)

Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 10 июля 2020

Здесь каскадная запись не нужна:

value = value.split(' ').where((x) => x.isNotEmpty).map((x) => x.trim()).join(" ")
0 голосов
/ 10 июля 2020

Я забыл добавить RegExp.

value = value.trim().split(RegExp(" +")).join(" ");

работает !!

...