#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);