0
votes

Désérialiser la chaîne à l'objet

Quelle est la meilleure façon de convertir ce format de chaîne en objet?

[Start successful - User:Berord; Name:Test; Fruits:Orange; Version:;]


5 commentaires

Diviser un ; , puis diviser chaque résultat sur : et mettre les résultats dans une carte , dépend de votre cas d'utilisation. "Mieux" n'est pas responsable.


@ Luk2302 Si j'utilise votre méthode, la première ligne a un problème (commencer à réussir - utilisateur: Berord). Je veux juste obtenir l'utilisateur mais je ne veux pas commencer à réussir


@Rick bien, puis déposez les 20 premiers? caractères, ou tout avant le premier - ou ... une fois de plus qui dépend de vos données.


Oh a déjà répondu à travers les commentaires.


C'est déjà un objet. Pas clair ce que vous demandez.


3 Réponses :


0
votes

divisé avec; D'abord, vous obtiendrez une gamme de chaîne avec la taille de 3 et vous pouvez les boucler et diviser avec: xxx


2 commentaires

vous devez inclure le "commencer à réussir -" dans la chaîne


inclus. @Meule



1
votes

Si les données utilisateur sont toujours dans le formulaire FieldNameWithOnspaces: Datawithoutsemicolon; Vous pouvez utiliser la regex suivante avec le motif et le mateleur: (\ S +): ([^;] *); et extraire des groupes 1 et 2 de chaque match.

Exemple: p> xxx pré>

Cela entraînerait la sortie suivante. P>

User::Berord
Name::Test
Fruits::Orange
Version::


0 commentaires

1
votes

Je voudrais aller à pas par étape fractionnement de cette chaîne :

  1. Split l'entrée par moins ( - ) afin d'accéder à la partie intéressante uniquement
  2. Split cette partie intéressante de Semicolon (; ) pour obtenir la paire de la valeur clé
  3. Split chaque paire de la valeur de clé par Colon (: ) pour obtenir la clé et la valeur séparément

    comme une personne déjà mentionnée dans un commentaire, vous pouvez utiliser une carte pour stocker les paires de la clé de clé.
    Il existe plusieurs Optimisations effectuées dans le code suivant, tels que Cadmin () pour éliminer les suites de clés et de valeurs, certaines vérifications (éventuellement obsolètes) pour l'existence d'un clé de la carte et des vérifications pour les résultats des opérations de scission.

    Voici un exemple de solution, lisez les commentaires: xxx

    Le résultat que je reçois de ce fait est

    Il y avait une clé ou une valeur manquante la clé ou la valeur correspondante: la "version" (la division par le côlon a entraîné une seule chaîne!)
    Utilisateur: Berord
    Version:
    Nom: test
    Fruits: Orange


0 commentaires