2016-08-04 85 views
-5

我正在开发质量管理软件以显示供应工具的错误。如果它包含c中的格式,则替换字符串#

所以我读了从XML和他们组

所有错误,但也有像错误:“Forcedtime 2016年8月1日17点51分○○秒的过去”

,才有可能找到日期 - 在字符串中这样的值并删除它们? 我无法使用硬编码的替换工作,因为日期时间有许多不同的值。

谢谢你帮我

+0

尝试*正则表达式*为此 –

+0

它被称为模式,而不是格式。检查正则表达式和模式匹配。 .NET正则表达式由Regex类提供。您可以使用[Regex.Replace](https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.replace(v = vs.110).aspx)方法替换匹配项。您可以在[.NET Framework正则表达式](https://msdn.microsoft.com/zh-cn/library/hs600312(v = vs.110).aspx)中找到简要介绍。 –

回答

0
(0?[1-9]|[12][0-9]|3[01])\.(0?[1-9]|1[0-2])\.(\d{4}) (00|[0-9]|1[0-9]|2[0-3]):([0-9]|[0-5][0-9]):([0-9]|[0-5][0-9]) 

它检查日期时间2016年8月1日17时51分00秒。 您的字符串比较此日期格式,如果匹配,则更换

尝试学习REG EXP

+0

您应该删除'^'和'$'我们正在寻找的匹配恰好在字符串的中间。你也忘了逃避这些点。然后你可以写'\ d {4}'来避免'\ d'重复 – Sidewinder94

0

另一项建议是读取XML本身并丢弃你不喜欢的节点/需要。然后只处理剩下的节点。

实际上,尽管Regex可以替代文本中的某些东西,但它可能不太合适,因为这是结构化数据,而不是字符串格式的数据。