0

私はこのようにteleriksitefinityでpdfファイル名を取っています:

test..pdf (41 KB )

1..pdf (34 KB )

これらをこのように変更するにはどうすればよいですか?test.pdf1.pdf

4

4 に答える 4

2

それらがすべてこのように見える場合(1つではなく2つのピリオドを使用すると、次のようになります。

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

また、パスに追加されるファイルのサイズを考慮していなかったようです。これは、スペースを分割し、次のような最初の要素を使用することで削除できます。

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

..から..への置き換えの両方を取得するには ファイルサイズを削除すると、次のように両方をチェーンすることができます。

myFileName = myFileName.Replace("..", ".").Split(' ')[0];
于 2013-01-18T08:17:31.907 に答える
0

より単純:string fileName = tempFileName.Replace("..pdf",".pdf");

パフォーマンスについては、StringBuilder.Replace()メソッドを使用します。

StringBuilder strBuilder = new StringBuilder(tempFileName);
strBuilder.Replace("..pdf", ".pdf");
string fileName = strBuilder.ToString();

そして、あなたが私のように、1つのインスタンスだけを置き換えたい場合(これは少し注意が必要です)

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));
于 2013-01-18T08:22:49.173 に答える
0

拡張子が不明な場合、つまりPDFの場合、これは次の方法で簡単に実行できます。

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

より柔軟性が必要な場合はPDF、文字列変数として作成することもできます。

ファイルにはポイントも含まれる可能性があるため、単純に置き換えるのではありません。

于 2013-01-18T08:18:09.527 に答える
0

String.Replaceメソッドを使用すると、「..」を「。」に置き換えることができます。あなたが知っている限り、あなたが「..」を望むかもしれない他のケースはありません。

例えば:

 pdfFile = pdfFile.Replace("..", ".");
于 2013-01-18T08:18:22.477 に答える