【发布时间】:2021-03-26 18:58:36
【问题描述】:
我发现here "|\\?*<\":>+[]/'" 是保留字符。如何从字符串中删除这些字符并将它们替换为-?
【问题讨论】:
我发现here "|\\?*<\":>+[]/'" 是保留字符。如何从字符串中删除这些字符并将它们替换为-?
【问题讨论】:
您可以使用 replaceAll 功能将所有相似字符替换为您选择的其他字符。例如:
void main() {
String s="afas//f/saqhr";
s=s.replaceAll("/","-");// replacing all / to -
print(s);
}
【讨论】:
replaceAll() 将它们替换为其他字符?是否有任何其他最佳解决方案可以一次性完成这项工作?
为了可重用性,我创建了一个Dart package。
使用它:
使用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
}
【讨论】: