String的Replace方法不会更改String

本文关键字:String 方法 Replace | 更新日期: 2023-09-27 18:22:07

我尝试将包含"TEMPDOCUMENTLIBRARY"的文件名替换为docs(类型数据集)。但不知何故,它根本无法取代它。怎么了?

for (int index = 0; index < docs.Document.Rows.Count; index++)
{
    if (docs.Document[index].FileName.Contains("TEMPDOCUMENTLIBRARY"))
    {
         docs.Document[index].BeginEdit();
         docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
         docs.Document[index].EndEdit();
    }
}

String的Replace方法不会更改String

字符串是不可变的(这意味着给定字符串的值永远不会改变)。像SubstringReplace这样的函数返回新的字符串,这些字符串表示执行了所需操作的原始字符串。

为了实现你想要的,你需要这个:

docs.Document[index].FileName = 
      docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");

String.Replace不会替换到位。尝试:

docs.Document[index].FileName = docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");

请注意,在文档(链接到上面)中,它返回替换的结果。

相关文章: