0

ということで、自宅のPCから別のPCへのファイル転送プログラムを作っています。クライアントはサーバーのファイルを調べて、必要なものを取得できます。(プロジェクト/ドキュメント/音楽の移動が非常に簡単になります)。これは、ファイルの文字列がどのように見えるかの例です:

New Text Document.txt : "(FILE)-(" + f.Length + " Bytes)"

私の問題は、「(FILE)-(" + f.Length + " Bytes)" を削除することです。文字列からその部分だけを削除するにはどうすればよいですか? f.Lengthが不明な場所...ありがとう!

4

3 に答える 3

1

正規表現の回答に代わる方法として、LastIndexOf を使用して、文字列の既知の部分 (例: (FILE)) の最後の出現を見つける方法があります。

var oldString = "ThisIsAString (FILE)-(1234 Bytes";
int indexToRemoveTo = oldString.LastIndexOf("(FILE)");

// Get all the characters from the start of the string to "(FILE)"
var newString = oldString.Substring(0, indexToRemoveTo);
于 2013-01-25T09:12:46.690 に答える
0

私はあなたが望むものを手に入れたことを願っています

string contents = "some text (FILE)-(5435 Bytes)  another text";

string result = Regex.Replace(contents, @"\(FILE\)-\(\d+ Bytes\)", "");

Console.WriteLine (result);

版画:

some text   another text

後にすべてを削除するソリューション.txt

string contents = "some text .txt (FILE)-(5435 Bytes)  another text";
string lastSegment = ".txt";
var result = contents.Substring(0, contents.IndexOf(lastSegment) + lastSegment.Length);
Console.WriteLine (result);

版画some text .txt

于 2013-01-25T09:11:44.763 に答える
0
var match = Regex.Match(pattern: @"\((.*)\)-\(\d+ Bytes\)$", input: name);
if(match.Success)
{
    string fileName = match.Groups[1].Value;
}
于 2013-01-25T09:12:04.267 に答える