【问题标题】:remove reserved characters from a string in dart从 dart 中的字符串中删除保留字符
【发布时间】:2021-03-26 18:58:36
【问题描述】:

我发现here "|\\?*<\":>+[]/'" 是保留字符。如何从字符串中删除这些字符并将它们替换为-

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    您可以使用 replaceAll 功能将所有相似字符替换为您选择的其他字符。例如:

    void main() {
      String s="afas//f/saqhr";
      s=s.replaceAll("/","-");// replacing all / to -
      print(s);
    }
    

    【讨论】:

    • 我是否必须检查每个保留字符,然后使用replaceAll() 将它们替换为其他字符?是否有任何其他最佳解决方案可以一次性完成这项工作?
    • 一种解决方案是将所有保留字符添加到列表中。然后使用 for 循环迭代每个字符并尝试替换它们。这是唯一的方法。希望对您有所帮助。
    • 显然不是唯一的方法,如其他答案所示。
    【解决方案2】:

    为了可重用性,我创建了一个Dart package

    使用它:

    1. Install

    2. 使用encode函数如下:

    import 'package:safe_filename/safe_filename.dart' as SafeFilename;
    
    void main() {
     String veryUnsafeFilename = 'File?Name<152.file';
     String safeFilename = (SafeFilename.encode(veryUnsafeFilename, onlyAlphanumeric: true, separator: '-', lowercase: true));
     print(safeFilename); // file-name-152.file
    }
    

    【讨论】:

      猜你喜欢
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多