替换两个标签之间的数字javascript

var input = " <root> <date>1995-03-03</date> <heure>13:33</heure> <day0>2</day0> <day1>0</day1> <day2>0</day2> <no2>1</no2> <pm10>2</pm10> <day0_o3>0</day0_o3> <day1_o3>0</day1_o3> <day2_o3>0</day2_o3> </root>"

假设我想将 day0 值更新为 6,那么输出将是

OutPut = " <root> <date>1995-03-03</date> <heure>13:33</heure> <day0>6</day0> <day1>0</day1> <day2>0</day2> <no2>1</no2> <pm10>2</pm10> <day0_o3>0</day0_o3> <day1_o3>0</day1_o3> <day2_o3>0</day2_o3> </root>"

感谢您的回复我已经解决了这个问题

input.replace(/<day0>.*<\/day0>/, '<day0>6</day0>');


临摹微笑
浏览 94回答 3
3回答

喵喵时光机

您还可以编写自己的小函数来查找字符串中的标签,假设输入始终是带有标签的字符串。例如:var replaceValueInTag = (tags, tagName, newValue) => {&nbsp; &nbsp; var startTag = `<${tagName}>`;&nbsp; &nbsp; var endTag = `</${tagName}>`;&nbsp; &nbsp; var indexOfStartTag = tags.indexOf(startTag);&nbsp; &nbsp; var indexOfEndTag = tags.indexOf(endTag);&nbsp; &nbsp; var value = tags.substring(indexOfStartTag + startTag.length, indexOfEndTag);&nbsp; &nbsp; return tags.replace(`${startTag}${value}${endTag}`, `${startTag}${newValue}${endTag}`);&nbsp;}var tags = " <root> <date>1995-03-03</date> <heure>13:33</heure> <day0>2</day0> <day1>0</day1> <day2>0</day2> <no2>1</no2> <pm10>2</pm10> <day0_o3>0</day0_o3> <day1_o3>0</day1_o3> <day2_o3>0</day2_o3> </root>":replaceValueInTag(tags, 'day0', '6');// output:&nbsp;// <root> <date>1995-03-03</date> <heure>13:33</heure> <day0>6</day0> <day1>0</day1> <day2>0</day2> <no2>1</no2> <pm10>2</pm10> <day0_o3>0</day0_o3> <day1_o3>0</day1_o3> <day2_o3>0</day2_o3> </root>

动漫人物

我不确定你如何获取输入,但如果它来自 DOM,你可以使用document.getElementsByTagName("day0")[0].innerText = "new output";如果您有其他意思,请提供更多详细信息

天涯尽头无女友

使用纯 JavaScript,你可以编写如下内容:document.querySelector("day0").textContent&nbsp;=&nbsp;"6";如果您应该支持现在知道 textContent 的浏览器,您可以编写:document.querySelector("day0").innerText&nbsp;=&nbsp;"6";不要使用innerHTML替换文本,以防止XSS漏洞。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript