簡體   English   中英

如何使用C#中設置的字符數將字符串解析為數組

[英]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.ParseDateTime.ParseExact ,但是顯然“ 20180426”未被識別為有效的DateTime:

DateTime myDate = DateTime.ParseExact(myString, "YYYYMMDD", null);
Console.WriteLine(myDate);

謝謝您的幫助。 我知道答案可能非常簡單,而且我提出要求時感到很愚蠢,但是我認真檢查了各個網站,並在這里找不到適合我問題的解決方案。

我也可以使用DateTime.ParseDateTime.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];
  1. 首先,我添加一個字符“-”以分隔年和月,然后添加另一個字符以分隔月和日。 您會得到類似“ 2018-04-26”的信息

  2. 然后,我將字符串拆分,並將存儲字符串前4個數字的位置0保存到名為year的變量中。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM