J'ai écrit ce code qui scindre "@" et ":" 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. P> voici mon code: p>
3 Réponses :
Comme je ne vois aucun format de données, je ne peux que deviner que l'erreur peut être ici: p>
formaté = divisé [0] + ":" + split1 [1]; p>
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 p>
Vous écrivez continuellement le fichier dans cette boucle. À la place collecter les résultats dans une liste 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];
}
)
);
}
Je vois .. merci va ajouter cela à mes références dans le futur.
Il vaut mieux lire le fichier de manière paresseuse:
Ce n'est pas paresseux si vous utilisez tolist code>
Oups ... j'ai oublié la personnalisation foreach code>)
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.
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 code> dans une boucle va écraser en permanence le fichier encore et encore. Essayez de mettre vos résultats dans une liste code> et à l'aide de fichier.writealllines code> après la boucle.Ex. George@live.com: George