#string #flutter #dart #reverse
#строка #flutter #dart #перевернуть
Вопрос:
Я хочу разделить и перевернуть арабскую строку и сохранить цифры, буквы, специальные символы.. вместе (делая вид, что все арабские буквы изолированы).
Пример моего кода :
void main() {
var sentence = ' Suit إجمالى المنتجات 359.00 Dhs ,مشاركة';
var originalList = sentence.split('').toList();
print(originalList.reversed.toList().join());
}
И вот результат этого кода:
ةكراشم, shD 00.953 تاجتنملا ىلامجإ tiuS stropS dlihC
Арабские буквы хороши, но я хочу избежать изменения любого символа, кроме списка арабских букв.
здесь:
List<String> arabicLetters = [
'ا',
'ب',
'ت',
'ث',
'ج',
'ح',
'خ',
'د',
'ذ',
'ر',
'ز',
'س',
'ش',
'ص',
'ض',
'ط',
'ظ',
'ع',
'غ',
'ف',
'ق',
'ك',
'ل',
'م',
'ن',
'ه',
'و',
'ي',
'أ',
'إ',
'ؤ',
'ئ',
'آ',
'ى',
'ة',
];
Комментарии:
1. это меняет числа на противоположные, вам нужно изменить регулярное выражение:
String reverse(String s) { if (s.isEmpty) { return ''; } return s.toList().reversed.reduce((value, element) => value = element); } var replaceSet = RegExp('[0|1|2|3|4|5|6|7|8|9|0] '); var foo = 'Ut occaecat 1235 culpa 3479 incididunt 2478 culpa.'; var replaced = foo.splitMapJoin(replaceSet, onMatch: (m) => reverse(m.group(0))); print(foo); print(replaced);
2. ошибка: метод ‘ToList’ не определен для типа String . как это можно исправить?
3. ах, у меня было некоторое расширение, вам нужно реализовать
reverse
функцию, как вы тогда делали в своем вопросе, используяsplit('')
4. Я имею
return s.split('').toList() ...
в виду и т. Д5. Большое вам спасибо, теперь я на правильном пути, могу ли я как-нибудь указать на свои арабские буквы внутри регулярного выражения? на самом деле у меня есть два списка, на которые я хочу указать, вместо того, чтобы нажимать на все элементы