0
votes

Comment puis-je produire toutes les tableaux de chaîne dans une chaîne fractionnée?

J'ai écrit ce code qui scindre "@" et ":" xxx

Je veux émettre tous les tableaux de chaîne dans un fichier. J'ai essayé et j'obtiens qu'une seule chaîne, pas tous. xxx

voici mon code: xxx


5 commentaires

var splity = textes.split (nouveau caractère [] {'@', ':'}); Fichier.writetealltext (sortiefile, string.join ("", formaté));


Pouvez-vous nous montrer un exemple des lignes que vous analysez et la sortie exacte que vous souhaitez? Ce que vous avez actuellement devrait vous donner tout avant le premier "@", puis tout entre les première et seconde ":" (ou la fin de la ligne s'il n'y a pas une seconde)


Cela ne résout pas le problème que cela sortit seulement une chaîne ce que je veux dire, c'est que j'ai besoin de produire toutes les chaînes non seulement


Oh je vois le problème. fichier.writealltext dans une boucle va écraser en permanence le fichier encore et encore. Essayez de mettre vos résultats dans une liste et à l'aide de fichier.writealllines après la boucle.


Ex. George@live.com: George


3 Réponses :


0
votes

Comme je ne vois aucun format de données, je ne peux que deviner que l'erreur peut être ici:

formaté = divisé [0] + ":" + split1 [1];

Vous ne prenez que des éléments simples de chaque gamme de chaînes. Essayez de boucler à travers tous les éléments des tableaux Split et Split1 pour imprimer leurs valeurs


0 commentaires

1
votes

Vous écrivez continuellement le fichier dans cette boucle. À la place collecter les résultats dans une liste code> puis écrivez-le dans le fichier.

public void CreateUsernameList(string targetfile,string outputfile)
{
    File.WriteAllLines(
        outputfile,
        File.ReadLines(targetfile)
            .Select(line => 
             {
                 var Split = line.Split(new char[] { '@' });
                 var Split1 = line.Split(new char[] { ':' });
                 return Split[0] + ":" + Split1[1];
             }
        )
    ); 
}


1 commentaires

Je vois .. merci va ajouter cela à mes références dans le futur.



0
votes

Il vaut mieux lire le fichier de manière paresseuse: xxx


4 commentaires

Ce n'est pas paresseux si vous utilisez tolist


Oups ... j'ai oublié la personnalisation foreach )


En outre, cela écrase toujours le fichier sur chaque boucle.


Maintenant, le côté bas est que s'ils exécutent ce code une seconde fois, il va simplement ajouter plus de choses au fichier au lieu de le remplacer.