首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在SQL数据库中替换Linefeed

在SQL数据库中替换Linefeed
EN

Stack Overflow用户
提问于 2017-12-26 00:10:38
回答 1查看 79关注 0票数 0

我在这里有点过头了。

我有一个SQL数据库,我试图用空格+ linefeed替换所有没有空格的linefeed (LF)。我用SQLiteStudio来做这个。我现在的情况如下:

代码语言:javascript
复制
UPDATE table 
SET column = replace( column, '%' + char(10) + '%', ' ' )

当我运行上面的查询时,以下数据:

代码语言:javascript
复制
<br><strong><font color="2018283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[LF]
elit, sed do eiusmod tempor incididunt ut labore et[LF]
<hr size="1px" noshade style="clear:both;margin-top:10px;height:1px;">

..。变成:

代码语言:javascript
复制
<br><strong><font color="2% %18283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[LF]
elit, sed do eiusmod tempor incididunt ut labore et[LF]
<hr size="1px" noshade style="clear:both;margin-top:1% %px;height:1px;">

为了清晰起见,我在上面添加了LF的。可以看到,由于某种原因,我的查询只替换了零,并且与linefeed不匹配。

最后我要做的是:

代码语言:javascript
复制
<br><strong><font color="2018283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[WHITESPACE][LF]
elit, sed do eiusmod tempor incididunt ut labore et[WHITESPACE][LF]
<hr size="1px" noshade style="clear:both;margin-top:1% %px;height:1px;">

..。这样,只有LF还没有被空格预先准备好,就会被一个空格+LF所替代。理想情况下,如果已经被空格预先准备好了,就会被单独使用。

知道我做错了什么吗,或者有更好的方法吗?我在网上找到了上面的查询,并尝试修改它。不习惯处理这些事情。感谢您的阅读!

EN

回答 1

Stack Overflow用户

发布于 2017-12-26 03:40:20

不确定DB安装程序是否支持正则表达式,但如果支持正则表达式,则可以尝试使用它们进行搜索/替换。请看一下这个链接:

replace a part of a string with REGEXP in sqlite3

一旦您的regexp替换函数就位,您就可以使用它作为搜索模式:

代码语言:javascript
复制
(?P<mystring>.*\S+)\n$

这将匹配以LF结尾的字符串,但它前面没有空格。然后,您可以使用命名组"mystring“来构造所需的字符串。

您可以在这里测试/修改您的regexp:https://regex101.com/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47972870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档