Итак, вот моя проблема, я пытаюсь получить содержимое текстового файла в виде строки, а затем проанализирую его. То, что я хочу, это вкладка, содержащая каждое слово и только слова (без пробелов, без backspace, no \ n ...). Я использую функцию LireFichier
, которая отправляет мне строку, содержащую текст из файла (работает отлично, потому что он отображается правильно), но когда я пытаюсь разобрать, он терпит неудачу и начинает делать случайную конкатенацию на моей строке, и я не понимаю почему. Вот содержание текстового файла я использую:Parsing string C#
truc,
ohoh,
toto, tata, titi, tutu,
tete,
и вот моя последняя строка:
;tete;;titi;;tata;;titi;;tutu;
, которые должны быть:
truc;ohoh;toto;tata;titi;tutu;tete;
Вот код, который я (все используются в порядке):
namespace ConsoleApplication1{
class Program
{
static void Main(string[] args)
{
string chemin = "MYPATH";
string res = LireFichier(chemin);
Console.WriteLine("End of reading...");
Console.WriteLine("{0}",res);// The result at this point is good
Console.WriteLine("...starting parsing");
res = parseString(res);
Console.WriteLine("Chaine finale : {0}", res);//The result here is awfull
Console.ReadLine();//pause
}
public static string LireFichier(string FilePath) //Read the file, send back a string with the text
{
StreamReader streamReader = new StreamReader(FilePath);
string text = streamReader.ReadToEnd();
streamReader.Close();
return text;
}
public static string parseString(string phrase)//is suppsoed to parse the string
{
string fin="\n";
char[] delimiterChars = { ' ','\n',',','\0'};
string[] words = phrase.Split(delimiterChars);
TabToString(words);//I check the content of my tab
for(int i=0;i<words.Length;i++)
{
if (words[i] != null)
{
fin += words[i] +";";
Console.WriteLine(fin);//help for debug
}
}
return fin;
}
public static void TabToString(string[] montab)//display the content of my tab
{
foreach(string s in montab)
{
Console.WriteLine(s);
}
}
}//Fin de la class Program
}
вар NewStr = string.join (";", Regex.Matches (File.ReadAllText (@ "C: \ Temp \ aa.txt"), @ "[\ ж \ д] +") .Cast() . Выберите (m => m.Value)); –