【问题标题】:Why I am getting this error while doing Method Cascade in Dart?为什么在 Dart 中执行方法级联时出现此错误?
【发布时间】:2020-10-30 15:24:34
【问题描述】:

我有一个单行代码,它删除了尾随和前导空格,并且还用一个空格替换了它们之间的多个空格。 (来自字符串)

value = value..trim()..split(" +")..join(" ");

但是我收到以下错误。

The method 'join' isn't defined for the type 'String'.
Try correcting the name to the name of an existing method, or defining a method named 'join'.(dartundefined_method)

我做错了什么?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    那里不需要级联符号:

    value = value.split(' ').where((x) => x.isNotEmpty).map((x) => x.trim()).join(" ")
    

    【讨论】:

    • 耶!!错误已解决。还有一个问题,它不是用一个空格替换中间的多个空格。
    • 你的意思是“abcxyz” -> “abc+xyz”,对吧?
    • 不!我的意思是 "abcxyz" -> "abcxyz"
    • 我明白了,我已经更新了应该如您所愿工作的答案
    • 我刚刚发现了这个错误,我没有使用 RegEx,value = value.trim().split(RegExp(" +")).join(" "); 正在工作。谢谢你的帮助。
    【解决方案2】:

    我忘了添加 RegExp。

    value = value.trim().split(RegExp(" +")).join(" ");
    

    工作中!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-09
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多