下面的代碼工作正常。但是,我想通過Regex.private decimal GetQuarter(string quarter){ var unformattedQuarter = "20" + quarter[2] + quarter[3] + "." + quarter[6]; return Convert.ToDecimal(unformattedQuarter);}輸入FY18 Q4FY19 Q1FY19 Q2輸出2018.42019.12019.2
2 回答

30秒到達戰(zhàn)場
TA貢獻1828條經驗 獲得超6個贊
您可以使用該模式
FY(\d{2}) Q(\d)
并將匹配替換為
20$1.$2
例子
var input = @"FY18 Q4\r\nFY19 Q1\r\nFY19 Q2";
var pattern = @"FY(\d{2}) Q(\d)";
var replacement = "20$1.$2";
Console.WriteLine(Regex.Replace(input, pattern, replacement));
輸出
2018.4
2019.1
2019.2
解釋
注意:添加20
似乎有點問題,應謹慎使用

GCT1015
TA貢獻1827條經驗 獲得超4個贊
使用以下代碼,您可以將字符串中第一次和第二次出現的數字提取到一個列表中,然后將它們連接起來:
string n = "FY18 Q1";
Regex digits = new Regex(@"[\d]+");
var list = digits.Matches(n);
var finalValue = "20" + list [0] + "." + list [1];
- 2 回答
- 0 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消