Как я могу разделить строку в Dart и добавить тире между ними? (Флаттер, Дротик, Строки, Форматирование)

#string #flutter #dart #formatting

Вопрос:

У меня здесь есть такие типы жидкостей:

 c4VTSVn3JfUxx9durORzj33UHfA2
 

и теперь я хотел бы получить это в своем коде дротика в Flutter:

 c4VTSVn3-JfUx-x9du-rORz-j33UHfA2
 

Я ищу способ разделить строки в формате UID и снова собрать их вместе с тире между ними.
Как я могу это сделать?

Комментарии:

1. String.splitMapJoin способ проверки

2. Спасибо за ваш ответ, позвольте мне проверить это 🙂

3. Я думаю, что, поскольку строка полностью случайна, метод splitMapJoin затрудняет поиск определенного раздела для вырезания (с помощью регулярного выражения). Я думаю, что мне пришлось бы делать это по количеству персонажей

4. String uid = 'c4VTSVn3JfUxx9durORzj33UHfA2'; var i = 0; final dashes = {2, 3, 4, 5}; final replaced = uid.splitMapJoin(RegExp('....'), onNonMatch: (s) => dashes.contains(i )? '-' : ''); print(replaced);

5. Ух ты, это здорово, большое тебе спасибо!!

Ответ №1:

Благодаря @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);