[英]How to parse string into an array using set number of characters in C#
我有一些這樣的C#代碼:
string myString = "20180426";
我知道如何解析特定字符(使用string.Split東西),但是如何獲取它以返回3個這樣的字符串:
2018
04
26
我有幾個以這種方式格式化的字符串(“ YYYYMMDD”),所以我不希望僅適用於該特定字符串的代碼。 我嘗試使用
var finNum = myString[0] + myString[1] + myString[2] + myString[3];
Console.Write(finNum);
但是我猜想它是將字符視為整數,而不是文本字符串,因為它是對它們進行一些數學運算而不是進行串聯(它也不是加法運算,因為它返回的是203,這不是2、0、1和8的總和)。
我已經嘗試將var
更改為string
,但是它不允許我將int隱式轉換為string。 為什么它認為string myString
是一個int
而不是一個string
,這就是我聲明的那樣?
我也可以使用DateTime.Parse
和DateTime.ParseExact
,但是顯然“ 20180426”未被識別為有效的DateTime:
DateTime myDate = DateTime.ParseExact(myString, "YYYYMMDD", null);
Console.WriteLine(myDate);
謝謝您的幫助。 我知道答案可能非常簡單,而且我提出要求時感到很愚蠢,但是我認真檢查了各個網站,並在這里找不到適合我問題的解決方案。
我也可以使用
DateTime.Parse
和DateTime.ParseExact
,但是顯然“ 20180426”無法識別為有效的DateTime
。
是的,因為格式字符串YYYYMMDD
不正確,所以年份和天是小寫的:
DateTime myDate = DateTime.ParseExact(myString, "yyyyMMdd", null);
如果需要年,月和日:
int year = myDate.Year;
int month = myDate.Month;
int day = myDate.Day;
如果要用變量將年,月和日分開,可以嘗試:
string mystring = "20180426";
mystring = mystring.Insert(4,"-");
mystring = mystring.Insert(7,"-");
string year = mystring.Split('-')[0];
string month = mystring.Split('-')[1];
string day = mystring.Split('-')[2];
首先,我添加一個字符“-”以分隔年和月,然后添加另一個字符以分隔月和日。 您會得到類似“ 2018-04-26”的信息
然后,我將字符串拆分,並將存儲字符串前4個數字的位置0保存到名為year的變量中。
祝好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.