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();
}
}
字符串是不可变的(这意味着给定字符串的值永远不会改变)。像Substring
和Replace
这样的函数返回新的字符串,这些字符串表示执行了所需操作的原始字符串。
为了实现你想要的,你需要这个:
docs.Document[index].FileName =
docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
String.Replace
不会替换到位。尝试:
docs.Document[index].FileName = docs.Document[index].FileName.Replace("TEMPDOCUMENTLIBRARY", "SHAREDDOCS");
请注意,在文档(链接到上面)中,它返回替换的结果。