繁体   English   中英

在C#中修剪字符串

[英]trim a string in c#

我在telerik sitefinity中使用pdf文件名,如下所示:

test..pdf (41 KB )

1..pdf (34 KB )

如何这样改变这些? test.pdf1.pdf

如果它们都看起来像这样(两个周期而不是一个周期,您可以简单地执行以下操作:

myFileName = myFileName.Replace("..", ".");

另外,似乎我没有考虑附加到路径的文件的大小。 可以通过在空间上拆分并采用如下第一个元素来删除该元素:

myFileName = myFileName.Split(' ')[0];

同时获得..和..的替换。 并删除文件大小,您可以像这样将它们链接在一起:

myFileName = myFileName.Replace("..", ".").Split(' ')[0];

如果扩展名未知,那么在您的情况下为PDF,只需执行以下操作即可:

string fileName = string.Format("{0}.pdf","test..pdf (41 KB )".Split('.')[0]);

如果您需要更大的灵活性,也可以将PDF为字符串变量。

不要简单地替换,因为文件也可以包含点。

String.Replace方法将允许您将“ ..”替换为“。”。 只要您知道,没有其他情况下您可能需要“ ..”

例如:

 pdfFile = pdfFile.Replace("..", ".");

更简单: 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));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM