PDA

View Full Version : جستجو در فایل متنی و تعویض یک کلمه در کل فایل



HOSSEINONLINE7
جمعه 12 مهر 1392, 09:04 صبح
سلام من یک فایل رجیستری دارم که میخوام بازش کنم و یک کلمه را توش سرچ کنم و تا آخر فایل تمام کلمات را تعویض کنم و کد زیر را نوشتم ولی اصلا هیچ اتفاقی نمی آفته ؟ لطفا راهنمایی کنید مشکلش چیشه ...


StreamReader reading = File.OpenText(@"D:\a.reg");
string str;
while ((str = reading.ReadLine()) != null)
{
if (str=="M1")
{
str.Replace("M1", "M2");
}
}

rezaei_y
جمعه 12 مهر 1392, 10:26 صبح
دوست عزیز توسط StreamReader فقط میشه از فایل خوند نمیشه داخل فایل بنویسیم

File.WriteAllText("Path", Regex.Replace(File.ReadAllText("Path"), "[Pattern]", "Replacement"));

از تابع زیر هم میتونی استفاده کنی

private static void ReplaceTextInFile(string originalFile, string outputFile, string searchTerm, string replaceTerm)
{
string tempLineValue;
using (FileStream inputStream = File.OpenRead(originalFile) )
{
using (StreamReader inputReader = new StreamReader(inputStream))
{
using (StreamWriter outputWriter = File.AppendText(outputFile))
{
while(null != (tempLineValue = inputReader.ReadLine()))
{
outputWriter.WriteLine(tempLineValue.Replace(searc hTerm,replaceTerm));
}
}
}
}
}

HOSSEINONLINE7
جمعه 12 مهر 1392, 10:35 صبح
ممنون حل شد ولی یک سوال دیگه برام پیش اومده :

من میخوام یک کلمه ی خاص توی فایل پیدا کنم که اسمش را نمیدونم چی هست ولی میدونم بعد از : Users\\ قرار گرفته و آخرش هم // هست یعنی به این شکل :

Users\\****\\

من میخوام با یک سرچ این کلمه را پیدا کنم از چه توابعی باید استفاده کنم ؟