我对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
我们今天刚刚添加了trimLeft
和trimRight
到Quiver,尽管事实证明它们也将在未来的SDK版本中添加到String
。不过你今天可以使用Quiver。
这些实现与基于regx的解决方案之间的区别在于空格的定义与String.trim
相同。Regex可以识别更少的空白字符。