noob здесь: D Я использую флаттер для этого приложения, и у меня возникли проблемы с логикой приложения.Любая помощь очень ценится.
Цель приложения: Расшифровать (заменить) все вводимые аббревиатуры для слов следующим образом: - Пользователь вводит текст через текстовое поле - Приложение ищет любые сокращения (несколько) и заменяет аббревиатуру только текстом.
Я смог сделать несколько сокращений, но в моем случае все сокращения должны быть во входном тексте, иначе он не будет работать или второй индекс не будет работать.Я пробовал несколько способов, которые не работали, я использую 2 списка для abv и соответствующий текст.
Вот код.
List<String> coded = ["GM", "HOT", "YAH"]; //ABV list
List<String> decoded = ["Gmail", "Hotmail", "Yahoo"]; //corresponding list
Map<String, String> map = new Map.fromIterables(coded, decoded);
String txt = "HOT was the best until GM took over"; //input text
void main() {
if ((txt.contains(coded[0]))) { //GM
String result = txt.replaceAll(coded[0], decoded[0]); //Replace with Gmail
print(result);
}
else if ((txt.contains(coded[0])) && (txt.contains(coded[1]))) {
String result = (txt.replaceAll(coded[0], decoded[0]));
(txt.replaceAll(coded[1], decoded[1]));
print(result);
}
else if ((txt.contains(coded[0])) && (txt.contains(coded[1])) && (txt.contains(coded[2]))) {
String result = txt.replaceAll(coded[0], decoded[0]);
txt.replaceAll(coded[1], decoded[1]);
txt.replaceAll(coded[2], decoded[2]);
print(result);
}
else {
print(txt);
}
}
Извините, если это кажетсятак просто, все еще учусь.
Спасибо