Je travaille sur un fichier texte .. je veux savoir comment rechercher une chaîne dans un fichier texte, puis effectuer les opérations sur cette chaîne.J'ai écrit un code mais il y a un problème avec "si la condition", quand la chaîne particulière vient, le contrôle passe à la ligne suivante .. il n'effectue aucune opération sur cette chaîne .. Ci-dessous est la ligne du fichier texte dont j'essaye pour trouver « MerchantNo: 105838015 », puis effectuer une opération de sous-chaîne sur elle pour obtenir que le number..There est un espace entre la ligne .. MERCHANTNO: 105838015 AGENT CODE 00913comment rechercher une chaîne dans un fichier texte en C#
et voici le code:
StreamReader sr = new StreamReader(fldr);
string line = null;
while ((line = sr.ReadLine()) != null)
{
str = line.Trim().Split(' ');
for (int i = 0; i < str.Length; i++)
{
if (str.ToString().ToUpper().Contains("MERCHANTNO:105838015"))
{
//str = line.Split(' ');
string MNo1 = line.Substring(15, 23);
MNo = Convert.ToInt32(MNo1.ToString());
}
break;
}
//MessageBox.Show("Line is:" +line);
}
MessageBox.Show("MerchantNo is:" +MNo);
Dites-moi ce que je dois faire?
Pourquoi appelez-vous substr avec 15, 23? –
Cherchez-vous toujours exactement cette chaîne: ... 105838015? Si vous connaissez ce numéro a priori, vous n'avez pas besoin de l'analyser et de le convertir en Int32 parce que vous le connaissez déjà. de votre code vous le cherchez en dur. –
voulez-vous transformer le flux de trous? Je ne sais pas quelle opération vous voulez faire - parce que votre code dit exactement ce que vous décrivez: ne faites que vérifier "MERCHANTNO: 105838015" et convertir une sous-chaîne à partir d'une variable int (?) MNo ... quoi * devrait * le code faire? – Carsten