2

私は正規表現が苦手で、問題を解決するために正規表現を実装する方法を理解するのが困難です。
基本的に、今日の日付を名前に含むファイル名があり、それを昨日の日付に置き換えたいと思います。

var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";

2013-09-24 の部分を置き換える必要があるため、新しいファイル名は

XX_YYYYYYYYYY_ZZZZZZ_2013-09-24_QQQQQ_IIII.xml

これは私が日付をフォーマットした方法です:

String dateToday = String.Format("{0: yyyy-MM-dd}", DateTime.Today)
string dateLast = String.Format("{0: yyyy-MM-dd}", DateTime.Today.AddDays(-1))
4

2 に答える 2

5

これには正規表現は必要ありません。String.Replaceを使用するだけです。

var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";
var newName = fName.Replace(String.Format("{0:yyyy-MM-dd}", DateTime.Today), String.Format("{0:yyyy-MM-dd}", DateTime.Today.AddDays(-i)));

書式設定条件に空白があります。これを機能させるには、それを削除する必要があります。つまり{0: yyyy-MM-dd}{0:yyyy-MM-dd}.

この例を参照してください

于 2013-09-25T10:31:09.597 に答える
1

次のことを検討してください...

var fName = "XX_YYYYYYYYYY_ZZZZZZ_2013-09-25_QQQQQ_IIII.xml";
var newFName= Regex.Replace(fName, DateTime.Today.ToString("yyyy-MM-dd"), DateTime.Today.AddDays(-1).ToString("yyyy-MM-dd"));
于 2013-09-25T13:55:06.060 に答える