我在telerik sitefinity中采用pdf文件名,如下所示:
test..pdf (41 KB )
1..pdf (34 KB )
如何更改这些? test.pdf
和1.pdf
答案 0 :(得分:2)
如果它们看起来都像这样(两个时期而不是一个时期你可以做到:
myFileName = myFileName.Replace("..", ".");
此外,我似乎没有考虑附加到路径的文件的大小。这可以通过拆分空间来删除,并采用这样的第一个元素:
myFileName = myFileName.Split(' ')[0];
获得两者的替换..并删除文件大小,您可以将它们链接在一起,如下所示:
myFileName = myFileName.Replace("..", ".").Split(' ')[0];
答案 1 :(得分:0)
如果扩展名未知,那么在您的情况下它是PDF,这可以通过以下方式完成:
string fileName = string.Format("{0}.pdf","test..pdf (41 KB )".Split('.')[0]);
如果您需要更多灵活性,也可以将PDF
作为字符串变量。
不要简单地替换,因为文件 也包含点。
答案 2 :(得分:0)
String.Replace方法允许您将“..”替换为“。”只要你知道没有其他情况你可能想要“......”
EG:
pdfFile = pdfFile.Replace("..", ".");
答案 3 :(得分:0)
更简单:string fileName = tempFileName.Replace("..pdf",".pdf");
为了提高性能,请使用StringBuilder.Replace()
方法,
StringBuilder strBuilder = new StringBuilder(tempFileName);
strBuilder.Replace("..pdf", ".pdf");
string fileName = strBuilder.ToString();
如果你像我一样只想要替换一个实例(这有点棘手)
string ReverseString(string p)
{
char[] arr = p.ToCharArray();
Array.Reverse(arr);
return new string(arr);
}
var regex = new RegEx("fdp..");
var fileName = ReverseString(regex.Replace(ReverseString(tempFileName), "fdp.",1));