就是像下面这样:
将
第一行
第二行
转换为
<p>第一行</p>
<p></br></p>
<p>第二行</p>
本人对正则表达式不太了解,特来 V 站问问万能的 V 友们。
不求最优解,有思路就好。
1
Jat001 2023-11-17 20:18:30 +08:00 via iPhone
这太简单了吧,先把 \n 替换成 </p>\n<p>,再把<p></p> 替换成 <p></br></p>,要啥正则
|
3
sillydaddy 2023-11-17 20:29:50 +08:00
如果是用 vscode 的话,
第一遍先替换有文字的: ``` ^(.+)$ 替换为 <p>$1</p> ``` 第二遍替换没有文字的空行: ``` ^$ 替换为 <p><br/></p> ``` 其中,^和$分别是匹配行首和行尾的符号。第一遍里面的$1 表示的是正则表达式里面,第一个括号里面匹配的内容,同理$2 可以递推。 |
4
Jat001 2023-11-17 20:32:52 +08:00 via iPhone
正则也没办法把两步变成一步,拆成两步是最优解
|
5
rimworld 2023-11-17 20:33:20 +08:00
```js
const str = `第一行 第二行` const list = str.split("\n") const res = [] for (let i = 0; i < list.length; i++) { res.push(...[`<p>${list[i].trimStart()}</p>`, "<br></br>"]) } console.log(res) ``` |
8
fgt1t5y OP @sillydaddy 谢谢 已采纳
|
9
fgt1t5y OP 问题解决 参考方案见 3 楼 :)
|