最近处理博客评论中留存的历史问题,早年使用PJBlog,当时的评论没有对应回复逻辑,后来的版本中虽然加入了回复功能,但是是在原评论中插入一段特殊标记的内容,实际上数据库里面是一条评论内容。
转到WordPress之后,它的评论回复是独立的。于是想着将原来回复的评论单独抽出来变为独立回复的评论。幸好原来有一些特殊标记,可以相对方便的分离出来内容。
这个时候就用到IFERROR函数了,它是一个自定义公式错误时的提示函数,不过这里我们可以用来查找我们想要的内容。
举例:下面是评论内容字段中存储的数据。
我是最初的用户发表的评论内容。
<br><blockquote><p class="pj-reply"> William 于 2010-05-08 02:03 PM 回复</p> <br/> 这个是博主回复的评论内容 </blockquote>
其中 br 标签不一定每行都存在,但是 <blockquote> 一定有,所以就用它作为我们的定位。
假如评论数据在Excel的B列。
=IFERROR(LEFT(B1,FIND("<blockquote>",B1)-1),B1)
上面的函数就能获取 <blockquote> 之前的内容。我们把它放到C列:
我是最初的用户发表的评论内容。
<br>
这个就是用户发表的评论内容。
=IFERROR(MID(B1,FIND("<blockquote>",B1)+12,FIND("</blockquote>",B1)-FIND("<blockquote>",B1)-12),"")
//其中的 12 是 <blockquote> 有12个字符,这个需要根据你的字符数进行调整
上面的函数就能获取 <blockquote> 和 </blockquote> 之间的内容,我们把它放到D列:
<p class="pj-reply"> William 于 2010-05-08 02:03 PM 回复</p> <br/> 这个是博主回复的评论内容
假如我们只想提取 博主的回复内容
=IFERROR(TRIM(MID(D1,FIND("</p>",D1)+4,LEN(D1))),"")
//其中的 4 是 </p> 有4个字符,这个需要根据你的字符数进行调整
这个我们就得到E列:
<br/> 这个是博主回复的评论内容
因为br 标签不一定每行都在,想去掉直接替换为空就行。
这样我们就通过IFERROR函数完全分离了用户评论和博主回复的内容了,还是非常方便的。
会用这些函数立马就能提升效率。
@微笑是的,用的好事半功倍。