String.trimLeft и trimRight in dart

Как определить trimLeft а также trimRight функции для String? Я не могу найти простое решение для их реализации.

Мое хитрое решение:

String _trimLeft(String str) {
  var s = (str + '.').trim();
  return s.substring(0, s.length-1);
}

String _trimRight(String str) {
  return ('.' + str).trim().substring(1);
}

Есть ли сторонние библиотеки для Dart просто так commons-lang в Java, обеспечивает такие основные функции?

2 ответа

Решение

Посмотрите этот ответ, который использует String.replace и RegExp:

Обрезка пробелов в строках Dart от начала или до конца

Я помогаю поддерживать общий пакет утилит под названием Quiver, но в нем нет функций обрезки. Они были бы отличным дополнением.

https://github.com/google/quiver-dart

Другой подход заключается в сопоставлении с RegExp, но ваше решение выглядит проще.

String _trimLeft(String str) {
  RegExp re = new RegExp(r"^\s*(.+)");
  return re.firstMatch(str).group(1);
}

(Этот код не проверен.)

Изменить: Этот вопрос был задан и ответил раньше. см. Обрезка пробелов в строках Dart от начала или до конца

Библиотеки Dart управляются pub и доступны на http://pub.dartlang.org/packages

Другие вопросы по тегам