如何在 Dart 中拆分字符串并在其间添加破折号? (Flutter、Dart、字符串、格式化)

How can I split up a String in Dart and add dashes in between? (Flutter, Dart, Strings, Formatting)

我这里有这些类型的 UID:

c4VTSVn3JfUxx9durORzj33UHfA2

现在我想在 Flutter 的 Dart 代码中收到这个:

c4VTSVn3-JfUx-x9du-rORz-j33UHfA2

我正在寻找一种方法来拆分 UID 格式的字符串,然后用中间的破折号将它们重新组合在一起。 我该怎么做?

感谢@pskink,这是一个可行的解决方案:

String uid = 'c4VTSVn3JfUxx9durORzj33UHfA2'; 
var i = 0; 
final dashes = {2, 3, 4, 5}; 

final replaced = uid.splitMapJoin(RegExp('....'), onNonMatch: (s) => dashes.contains(i++)? '-' : '');

print(replaced);