从开头或结尾修剪Dart字符串中的空白



我对Dart非常陌生,正在尝试对基本库有一些了解。对于字符串,提供了一个trim()函数。这很好,但是没有明显的方法可以只在字符串的开始或结束处修剪空白吗?我找不到他们。谢谢你。

没有特定的方法来只修剪前导或尾随空格。但是实现它们很容易:

/// trims leading whitespace
String ltrim(String str) {
  return str.replaceFirst(new RegExp(r"^s+"), "");
}
/// trims trailing whitespace
String rtrim(String str) {
  return str.replaceFirst(new RegExp(r"s+$"), "");
}

MoreDart库有一些受番石榴启发的帮助程序,允许您从开始、结束或两者都有效地修剪字符串:

import 'package:more/char_matcher.dart';
...
var whitespace = new CharMatcher.whitespace();    // what to trim
whitespace.trimFrom(input);   // trim from beginning and end
whitespace.trimLeadingFrom(input);   // trim from beginning
whitespace.trimTrailingFrom(input);   // trim from end

我们今天刚刚添加了trimLefttrimRight到Quiver,尽管事实证明它们也将在未来的SDK版本中添加到String。不过你今天可以使用Quiver。

这些实现与基于regx的解决方案之间的区别在于空格的定义与String.trim相同。Regex可以识别更少的空白字符。

http://pub.dartlang.org/packages/quiver

最新更新