首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用RegEx格式化字符串

使用RegEx格式化字符串
EN

Stack Overflow用户
提问于 2010-05-14 21:48:06
回答 2查看 1.2K关注 0票数 0

要格式化的字符串

“新日期(2009,0,1)”

格式化后的字符串

"'01-Jan-2009'“

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-14 21:51:15

您应该使用DateTime结构:

代码语言:javascript
运行
复制
DateTime date = DateTime.Parse(something);
string str = date.ToString("dd-MMM-yyyy");

在您的示例中,您应该使用正则表达式来解析字符串中的值,如下所示:

代码语言:javascript
运行
复制
static readonly Regex parser = new Regex(@"new Date\((\d{4}),\s*(\d\d?),\s*(\d\d?)\)");

Match match = parser.Match("new Date(2009,0,1)");

DateTime date = new DateTime(
    int.Parse(match.Groups[1].Value),
    int.Parse(match.Groups[2].Value) + 1,
    int.Parse(match.Groups[3].Value)
);

string str = date.ToString("dd-MMM-yyyy");

(已测试)

票数 4
EN

Stack Overflow用户

发布于 2010-05-14 21:52:35

您不能为此使用正则表达式-您只能处理现有的文本。添加新字符(Jan而不是1(或0??))是不可能的。

你能做的就是匹配@"new Date\((\d+),(\+d),(\d+)\)。然后,在Match对象的Group1、Group2和Group3中有三个包含200901的字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2834592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档