gpt4 book ai didi

JavaScript/正则表达式 : strip first

if it matches a critheria

转载 作者:行者123 更新时间:2023-11-28 14:49:42 25 4
gpt4 key购买 nike

所以我从 API 获取 HTML 内容,有时它会采用这种格式

<p>::type/12</p>
<p>Some content</p>
<p>Some more content</p>

有时不会有第一段...

我想要的是解析该 html 片段并提取相关信息作为具有以下属性的对象类型时间内容

所以在前面的例子中它应该翻译成:

data = {
type: 'type',
time: 12,
content: '<p>Some content</p><p>Some more content</p>'
}

我还有预期类型的​​数组(不超过 10 个)allowedTypes = ['type1', 'type2', ...];

因此,如果第一个 p 包含::type2/,那么它是需要解析的有效对象,否则就这样做

data = {
type: undefined,
time: undefined,
content: '.... all content here'
}

我没有使用正则表达式的经验,我该如何解决这个问题?另外值得一提的是,我正在使用 Angular,所以没有 jQuery 功能

有什么想法吗?

最佳答案

这就是我在不使用正则表达式解析 HTML 的情况下执行此操作的方法

function getObject(str) {

var temp = document.createElement("div")
temp.innerHTML = str

var data = {
type: undefined,
time: undefined
};

var elems = temp.getElementsByTagName("p")
var match = elems[0].textContent.match(/::([^\/]+)\/(.+)/);
if (match) {
data.type = match[1]
data.time = match[2]
elems[0].remove()
}

data.content = temp.innerHTML;

console.log(data)
return data
}

var str1 = "<p>::type/12</p><p>Some content</p><p>Some more content</p>"
var str2 = "<p>Some content</p><p>Some more content</p>"
getObject(str1)
getObject(str2)

关于JavaScript/正则表达式 : strip first <p> if it matches a critheria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44956100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com