我正在尝试将<month>
代码中的月份值替换为其各自的月份编号,例如:<month>Feb</month>
应替换为<month>02</month>
我试过了,
Dim strFile As String = File.ReadAllText(TextBox1.Text & "\" & parentFolder & ".xml")
strFile = Regex.Replace(strFile, "<conf-start.*?><day>(.*?)</day><month>Feb</month>", "$&<month>02</month>")
File.WriteAllText(TextBox1.Text & "\" & parentFolder & ".xml", strFile)
但它给了我以下输出
<conf-start iso-8601-date="0"><day>00</day><month>Feb</month><month>02</month>
相反,它在月份名称旁边添加标签我想要的输出如下,
<conf-start iso-8601-date="0"><day>00</day><month>02</month>
月份名称应替换为其各自的编号。 提前谢谢..
答案 0 :(得分:0)
使用XDocument很容易搞清楚。然后用
解析节点内容DateTime dateTime = DateTime.ParseExact(“November”,“MMMM”,CultureInfo.CurrentCulture); DateTime dateTime = DateTime.ParseExact(“Nov”,“MMM”,CultureInfo.CurrentCulture);
取决于月份的格式。那会给你一个像11/1/2014 12:00:00 AM的日期。我有点惊讶的是,这一年是最新的,而不是时代,但我们并不关心。
然后 dateTime.Month.ToString()替换节点内容。
DateTime技巧不喜欢“。”在第二种情况下的缩写月份,但你的样本不包含。如果它出现使用dateString = dateString.TrimEnd('。')来摆脱“。”