我正在接受来自文本字段的值,并希望从这些值中删除多个空格并将它们替换为单个空格,到目前为止我已经尝试过,如何在 dart 中实现这一目标,
' '.join(mystring.split())
Run Code Online (Sandbox Code Playgroud)
但这似乎不像在 python 中那样工作,它会抛出 join无法在 dart 中的字符串上执行那么我该如何在 dart 中做到这一点...
最小和最简单的解决方案是:
final _whitespaceRE = RegExp(r"\s+");
String cleanupWhitespace(String input) =>
input.replaceAll(_whitespaceRE, " ");
Run Code Online (Sandbox Code Playgroud)
您还可以使用split/ join:
String cleanupWhitespace(String input) =>
input.split(_whitespaceRE).join(" ");
Run Code Online (Sandbox Code Playgroud)
它的性能可能会稍差一些,但除非您一直这样做,否则这并不重要。
如果性能确实很重要,并且您不想用另一个空格替换单个空格,那么您可以将 RegExp 更改为:
final whitespaceRE = RegExp(r"(?! )\s+| \s+");
Run Code Online (Sandbox Code Playgroud)
仅仅对于处理用户输入来说不太可能重要。
| 归档时间: |
|
| 查看次数: |
2204 次 |
| 最近记录: |