mySQL:如何添加新行并修剪空格

时间:2017-03-15 23:12:58

标签: mysql

我需要清理mySQL数据库中表的文本列。

该文字与以下内容非常相似:

<p>This is the content of a song,<br>
lyrics go here<br>
lyrics of the song<br>
end of first paragraph.</p>
<p>

Testing data,<br>
this is more text</p>
<p>

Testing more data,<br>
this is another text</p>

我需要以下内容:

<p>This is the content of a song,<br>
lyrics go here<br>
lyrics of the song<br>
end of first paragraph.</p>

<p>Testing data,<br>
this is more text</p>

<p>Testing more data,<br>
this is another text</p>

换句话说,我需要在</p>之后添加一个新行,并在<p>和文本之间修剪空格

我知道如何在</p>

之后添加新行
UPDATE lyrics SET lyrics = REPLACE(lyrics, '</p>', '</p>\n\n')

但我不知道如何删除<p>与文本本身之间的空文本。

BEFORE:

<p>

Testing data,<br>
this is more text</p>


AFTER:

<p>Testing data,<br>
this is more text</p>

2 个答案:

答案 0 :(得分:1)

您是否尝试将'<p>\n\n'替换为'<p>'

编辑:

我同意tadman的评论,但如果您迫切需要在SQL中执行此操作,我认为您最好的选择是尝试更多组合 ......

在检查粘贴的数据后,您应该尝试更换<p> \n\n (带空格)

如果这不起作用,可能\r换行正在搞砸某些东西? (我甚至不知道这是否重要)

无论哪种方式,这都不是一个非常稳定的解决方案。我至少会考虑一些替代方法/语言。

答案 1 :(得分:0)

你试过这个:

UPDATE lyrics SET lyrics = REPLACE(lyrics, '<p>\n\n', '<p>')