Я пытаюсь добавить строку перед косой чертой, вот сценарий:
Когда у меня есть строка: str = "//html:div[@id='ins_storybody']/p[2]/span[1]/h2[3]/p[1]/p[4]"
Я хочу ожидаемый результат: //html:div[@id='ins_storybody']/html:p[2]/html:span[1]/html:h2[3]/html:p[1]/html:p[4]
Здесь вы ясно видите, я добавляю html:
перед косой чертой.
Примечание
Если прямоугольная скобка отсутствует, я не хочу добавлять html:
.Вот еще один пример:
str = "//html:div[@id='ins_storybody']/p/span[1]/h2/p[1]/p"
Ожидаемый результат:
str = "//html:div[@id='ins_storybody']/p/html:span[1]/h2/html:p[1]/p"
Как видите, я не добавляю html:
если нет [1] or []
.
Я попытался использовать эту логику:
str = "//html:div[@id='ins_storybody']/p[2]/span[1]/h2[3]/p[1]/p[4]"
var htmlDOM = ['p', 'span', 'h1', 'h2', 'h3', 'h4']
for(var i=0; i<htmlDOM.length; i++) {
q = str.includes('[');
if (q) {
strSlice = str.indexOf(htmlDOM[i]);
newstr = str.slice(0,strSlice) + 'html:' + str.slice(strSlice);
} else {
newstr = str;
}
console.log(newstr)
}
Но похоже, что это повторяющийся цикл снова и снова, который, кажется, не работает идеально.
ПОМОЖЕТ БЫТЬ ЦЕННЫМ !!