0
votes

Extrait Numéro et séparer avec une virgule de la liste dans le flutter

liste listFinal = [];

SO LISTFORINAL Ayez des valeurs de la liste multiple à l'intérieur comme ci-dessous. [["Test: 111-333-5555" "," Test2: 222-333-4555 "], [" Test3: 555-333-22222 "]]

Comment puis-je faire cette liste de sorte qu'il n'entraîne que les chiffres et séparez avec la virgule?

Le résultat final devrait être comme [1113335555, 2223334555, 5553332222]

Je peux penser à la coupe ou à la réégycle, mais je ne sais pas comment retirer cela.

Merci beaucoup.


0 commentaires

3 Réponses :



1
votes

Voici un exemple pour vous aider à démarrer. Cela ne gère pas de choses comme des chaînes d'entrée malformées. La première étape consiste à "aplatir" la liste avec .expand code>, puis pour chaque élément de l'utilisation actionnée aplatie utilise une regex pour extraire la sous-chaîne. D'autres options peuvent inclure à l'aide d'utiliser .Substring code> pour extraire exactement les 12 derniers caractères de la chaîne.

Vous pouvez voir cela en action sur Dartpad. P>

void main() {
  final input = [
    ['test: 111-333-5555', 'test2: 222-333-4555'],
    ['test3: 555-333-2222']
  ];

  final flattened = input.expand((e) => e); // un-nest the lists

  // call extractNumber on each element of the flattened iterable,
  // then collect to a list
  final result = flattened.map(extractNumber).toList();

  print(result);
}

final _numberRegExp = RegExp(r'.*: ([\d-]+)$');

int extractNumber(String description) {
  var numberString = _numberRegExp.firstMatch(description).group(1);
  return int.parse(numberString.replaceAll('-', ''));
}


1 commentaires

Vient de remarquer que vous le vouliez comme intens . Mis à jour le dartpad.



0
votes

Faisons cela de manière simple. XXX

Ici, j'ai pris votre liste comme entrée de l'entrée et stocké le résultat dans les résultats. Pour chaque élément d'INPUTLIST, nous obtenons une sous-liste. J'ai converti les éléments de cette sous-liste dans le format nécessaire et ajouté ceux-ci dans une liste.

codage heureux :)