如何拆分字符串不使用Split函数?

时间:2012-02-21 00:17:58

标签: c#

我在

下面有这个参数

token [10] =“日期:UTC 2012-02-02 17:09:04”

我编写了以下代码,仅提取年份和月份,因此它假设为“201202”。 无论如何我只能使用split获得那些值,我知道我们也可以使用正则表达式但是这是提取这些值的任何其他方法

        string Encdate = tokens[10];
        string[] EncdateValue = Encdate.ToString().Split(' ');
        string Encdatesplit = EncdateValue[2].TrimStart();
        string[] YYMM = Encdatesplit.ToString().Split('-');
        string YYMMVal = YYMM[0] + YYMM[1];

2 个答案:

答案 0 :(得分:4)

只需使用DateTime.ParseExact方法并访问返回的Year对象中的MonthDateTime属性,否则请使用Date/Time string formattersDateTime.ToString(string)获取yyyyMM格式的方法,这是一个例子:

        var d = DateTime.ParseExact(token, "'Date: UTC' yyyy-MM-dd HH:mm:ss", 
                CultureInfo.InvariantCulture, 
                DateTimeStyles.AllowWhiteSpaces | DateTimeStyles.AssumeUniversal);

        Console.WriteLine(d.ToString("yyyyMM"));

答案 1 :(得分:0)

var t = token [10];

您还可以使用所需字符的串联:

string Encdate = t[10] + t[11] + t[12] + t[13] + t[15] + t[16];

或者使用substring(用于添加两个):

string Encdate = t.Substring(10, 4) + t.Substring(15, 2);

或子字符串和删除:

string Encdate = t.Substring(10, 7).Remove(4);