gpt4 book ai didi

string - 在 C# 中替换文件名的一部分

转载 作者:行者123 更新时间:2023-12-01 09:34:41 26 4
gpt4 key购买 nike

我有一个带有 .pdf 的文件夹文件。在大多数文件的名称中,我想用另一个字符串替换特定的字符串。

这是我写的。

  private void btnGetFiles_Click(object sender, EventArgs e)
{
string dir = tbGetFIles.Text;
List<string> FileNames = new List<string>();

DirectoryInfo DirInfo = new DirectoryInfo(dir);

foreach (FileInfo File in DirInfo.GetFiles())
{
FileNames.Add(File.Name);
}

lbFileNames.DataSource = FileNames;
}

这里我提取了列表框中的所有文件名。
    private void btnReplace_Click(object sender, EventArgs e)
{
string strReplace = tbReplace.Text; // The existing string
string strWith = tbWith.Text; // The new string

string dir = tbGetFIles.Text;
DirectoryInfo DirInfo = new DirectoryInfo(dir);
FileInfo[] names = DirInfo.GetFiles();


foreach (FileInfo f in names)
{
if(f.Name.Contains(strReplace))
{
f.Name.Replace(strReplace, strWith);
}

}

在这里我想做替换,但出了点问题。什么?

最佳答案

听起来您想更改磁盘上文件的名称。如果是这样,那么您需要使用 File.Move API 与更改文件名的实际字符串。

您犯的另一个错误是 Replace称自己。一个 string在 .Net 中是不可变的,因此所有可变的 API,如 Replace返回一个新的 string与更改旧的到位。要查看更改,您需要将新值分配回变量

string newName = f.Name.Replace(strReplace, strWith);
File.Move(f.Name, newName);

关于string - 在 C# 中替换文件名的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10487696/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com