转换时间字符串字符串结束 [英] String terminator for converting Time Strings

查看:177
本文介绍了转换时间字符串字符串结束的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个像

一个字符串数组

 第[I]
 

在这个数组,值是像

 00hr:00分17sec
00hr:03min:18秒
00hr:05min:25秒
01hr:39分钟:44sec
 

现在我需要另一个字符串数组像

 谢胜利[J]。
17sec前
3分钟前
5分钟前
1小时前
 

我怎么能先转换成字符串数组秒字符串数组?

解决方案
  1. 解析字符串成组件;可能通过的位置,可能与解析,可能与正则表达式
  2. 决定你想要什么规则,每个输出
  3. 使用它

例如:

 静态字符串SimplifyTime(字符串值)
{
    VAR匹配= Regex.Match(价值([0-9] {2})小时:([0-9] {2})分:([0-9] {2})SEC);
    如果(match.Success!)的返回值;
    INT VAL = int.Parse(match.Groups [1] .value的,CultureInfo.InvariantCulture);
    如果(VAL大于0)返回VAL +小时前;
    VAL = int.Parse(match.Groups [2]。价值,CultureInfo.InvariantCulture);
    如果(VAL大于0)返回VAL +分钟前;
    VAL = int.Parse(match.Groups [3]。价值,CultureInfo.InvariantCulture);
    返回VAL +秒钟前;
}
静态无效的主要()
{
    字符串[]值= {
        00hr:00分17sec
        00hr:03min:18秒,
        00hr:05min:25秒,
        01hr:39分钟:44sec
    };
    VAR转换= Array.ConvertAll(值,SimplifyTime);
}
 

I have a String Array like

First[i]

In this array, the values are Like

"00hr:00min:17sec"
"00hr:03min:18sec"
"00hr:05min:25sec"
"01hr:39min:44sec"

Now I take another string array like

Secound[j]
"17sec Ago"
"3min Ago"
"5min Ago"
"1hr Ago"

How can I convert first string array to seconds string array?

解决方案

  1. parse the string into components; possibly by position, possibly with Parse, possibly with regex
  2. decide what rules you want for each output
  3. use it

For example:

static string SimplifyTime(string value)
{
    var match = Regex.Match(value, "([0-9]{2})hr:([0-9]{2})min:([0-9]{2})sec");
    if (!match.Success) return value;
    int val = int.Parse(match.Groups[1].Value, CultureInfo.InvariantCulture);
    if (val > 0) return val + "hr Ago";
    val = int.Parse(match.Groups[2].Value, CultureInfo.InvariantCulture);
    if (val > 0) return val + "min Ago";
    val = int.Parse(match.Groups[3].Value, CultureInfo.InvariantCulture);
    return val + "sec Ago";
}
static void Main()
{
    string[] values = {
        "00hr:00min:17sec",
        "00hr:03min:18sec",
        "00hr:05min:25sec",
        "01hr:39min:44sec"
    };
    var converted = Array.ConvertAll(values, SimplifyTime);
}

这篇关于转换时间字符串字符串结束的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆