2016-08-04 81 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可以替代文本中的某些東西,但它可能不太合適,因爲這是結構化數據,而不是字符串格式的數據。

相關問題