簡體   English   中英

使用.replace替換文本文檔(C#)中的單詞

[英]using .replace to replace a word in text document (c#)

當前具有以下代碼:

    string[] fileLineString = File.ReadAllLines(Server.MapPath("~") + "/App_Data/Users.txt");

    for (int i = 0; i < fileLineString.Length; i++)
    {
        string[] userPasswordPair = fileLineString[i].Split(' ');

        if (Session["user"].ToString() == userPasswordPair[0])
        {
            userPasswordPair[i].Replace(userPasswordPair[1], newPasswordTextBox.Text);
        }
    }
}

文本文件設置為:'用戶名''密碼

我要執行的操作是能夠使用我的代碼編輯密碼並將其替換為新密碼,但是我的代碼似乎什么也沒做,並且文本文件保持不變。

string[] fileLineString = File.ReadAllLines(Server.MapPath("~") + "/App_Data/Users.txt");

for (int i = 0; i < fileLineString.Length; i++)
{
    string[] userPasswordPair = fileLineString[i].Split(' ');

    if (Session["user"].ToString() == userPasswordPair[0])
    {
        // set the new password in the same list and save the file
        fileLineString[i] = Session["user"].ToString() + " " + newPasswordTextBox.Text;
        File.WriteAllLines((Server.MapPath("~") + "/App_Data/Users.txt"), fileLineString);
        break; // exit from the for loop
    }
}
  1. 目前,您尚未存儲文件。
  2. 您的替換未分配給變量(替換不會編輯或編寫任何內容,它只會返回新的字符串對象)。

更正的代碼:

string[] fileLineString = File.ReadAllLines(Server.MapPath("~") + "/App_Data/Users.txt");

for (int i = 0; i < fileLineString.Length; i++)
{
    string[] userPasswordPair = fileLineString[i].Split(' ');

    if (Session["user"].ToString() == userPasswordPair[0])
    {
        fileLineString[i] = fileLineString[i].Replace(userPasswordPair[1], newPasswordTextBox.Text);
        break;
    }
}

File.WriteAllLines((Server.MapPath("~") + "/App_Data/Users.txt", fileLineString);
        String _userName = "User";
        String _newPassword = "Password";
        // Reading All line from file
        String _fileContent = System.IO.File.ReadAllLines("filePath").ToString();
        // Pattern which user password like to changed            
        string _regPettern = String.Format(@"{0} ?(?<pwd>\w+)[\s\S]*?", _userName);
        Regex _regex2 = new Regex(_regPettern, RegexOptions.IgnoreCase);
        String _outPut = Regex.Replace(_fileContent, _regPettern, m => m.Groups[1] + " " + _newPassword);
        // Writing to file file
        System.IO.File.WriteAllText("filePath", _outPut);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM