[英]How to convert quarter which is provided as “FY18 Q1” to produce “2018.4” in C# using REGEX?
下面的代碼工作正常。 但是,我想通過Regex
獲得它。
private decimal GetQuarter(string quarter)
{
var unformattedQuarter = "20" + quarter[2] + quarter[3] + "." + quarter[6];
return Convert.ToDecimal(unformattedQuarter);
}
輸入項
2018財年第四季度
19財年第一季度
2018財年第二季度
輸出量
2018.4
2019.1
2019.2
您可以使用模式
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
似乎有點問題,應謹慎使用
使用以下代碼,您可以從字符串中提取數字的第一個和第二個出現位置,然后將它們連接起來:
string n = "FY18 Q1";
Regex digits = new Regex(@"[\d]+");
var list = digits.Matches(n);
var finalValue = "20" + list [0] + "." + list [1];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.