人!我有一个问题,我不知道如何用ul,li标签替换我的文本。
它在这里:我有这样的文本,例如:
let text = "Du bist der beste Mensch";
我需要转换";der beste Mensch";部分进入:
<ul>
<li>der<li>
<li>beste<li>
<li>Mensch<li>
</ul>
因此,一般输出应该是:
Du bist
- der
- beste
- Mensch
我尝试使用正则表达式,结果得到:
text.replace(/(?:^|n)- (S+)/g, '<li>$1</li>');
如果我放<ul><li>$1</li></ul>
,它当然会给我那些被装箱在ul和li标签中的单词,这不是我想要的。
假设这是原始文本的格式:
Du bist
- der
- beste
- Mensch
您可以将replace
嵌套到两个步骤中:
- 替换
<ul>
标记内的整个列表 - 替换
<li>
标签内的每个列表项
const text = `Du bist
- der
- beste
- Mensch
`;
const result = text.replace(/(?:(?:^|n+)- [^n]+)+/g,
list => `<ul>${list.replace(/(?:^|n+)- ([^n]+)/g, '<li>$1</li>')}</ul>`
);
console.log(result);