如何在某个地方插入/替换字符串值到另一个字符串值?

时间:2016-02-25 22:19:52

标签: string replace insert

这是一个上传工具。我正在尝试重命名文件名,如果它已存在于该文件夹中。 计划是在文件名后添加一个数字。例如,如果文件名是Hello.doc,则它将保存为Hello2.doc。

问题是,文件名&文件类型总是不同的。它可以是Goodbye.pdf / capture.png。我不知道如何将数字插入正确的位置。

if (System.IO.File.Exists(savepath))
            {
                int counter = 2;
                while (System.IO.File.Exists(savepath))
                {
                    string newFileName = fileName + counter;
                    tempFileName = newFileName.Insert/replace //Not sure what to do here
                    savepath += tempFileName;
                    counter++;
                }
                FileUpload.SaveAs(savepath);
                lblUpload.Text = "A file with the same name already exists." + " Your file was saved as " + tempFileName;
            }

有人知道吗?谢谢!

1 个答案:

答案 0 :(得分:1)

如果您正在寻找,请告诉我。使用StringBuilder避免在每次连接后创建新的String对象。

String[] filepath = filename.split(".");
// filepath[0] -> filename
// filepath[1] -> extension

StringBuilder newFilename = new StringBuilder(filepath[0]);

// add number
newFilename.append(2);

// add period
newFilename.append(".");

// add extension
newFilename.append(filepath[1]);

return newFilename.toString();