我对 Dart 非常陌生,正在尝试了解基本库。对于字符串,提供了一个 trim() 函数。这很好,但是没有明显的方法可以只在字符串的开头或结尾修剪空格吗?我找不到他们。谢谢。
user1869518
问问题
2702 次
3 回答
10
没有用于仅修剪前导或尾随空格的特定方法。但是很容易实现它们:
/// 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+$"), "");
}
于 2013-01-01T04:57:11.900 回答
1
库MoreDart有一些受 Guava 启发的助手,可让您从开头、结尾或两者有效地修剪字符串:
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
于 2014-03-09T10:34:07.380 回答
1
我们今天刚刚将trimLeft
和添加trimRight
到 Quiver,但事实证明它们也将添加到String
未来的 SDK 版本中。不过,您今天可以使用 Quiver。
这些实现与基于 Regex 的解决方案之间的区别在于空格的定义与String.trim
. 正则表达式识别较少的空白字符。
于 2014-03-11T04:51:40.070 回答