- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我运行一个 Ghost 博客,我想查找所有单引号和双引号并将其替换为“大引号”(请参阅 here ),但我不太了解 SQLite。到目前为止,我已经想出了这个:
update posts set markdown = replace(markdown, '""', '“');
上面的命令将我的所有双引号替换为左大引号 (ALT+0147)。然后我尝试运行相同的命令,但替换结束引号 (ALT+0148),如下所示:
update posts set markdown = replace(markdown, '“', '”');
这基本上用结束引号替换了所有开始的大引号。这就是我陷入困境的地方。我不知道如何在 sqlite 中异常(exception),以便它只替换后面有文本的引号。此外,我还没有考虑过我希望直引号保持不变的情况,例如在 HTML 链接中,正如评论中指出的那样。
更新:有效
感谢您的回答,我找到了一个解决方案,就我而言,该解决方案非常有效!请注意,我使用了DB Browser for SQLite来更改我的数据库 -
update posts set markdown = replace(markdown, ' "', ' “');
update posts set markdown = replace(markdown, '." ', '.” ');
update posts set markdown = replace(markdown, '" ', '” ');
以上两个命令已将所有左双引号替换为大引号,右引号也是如此。现在剩下要做的就是,如下面的答案所述,涵盖此类引用可能出现的所有可能性。单引号也是如此,如下所示:
update posts set markdown = replace(markdown, ' ''', ' ‘');
update posts set markdown = replace(markdown, '.'' ', '.’ ');
update posts set markdown = replace(markdown, ''' ', '’ ');
对于所有中间的撇号:
update posts set markdown = replace(markdown, '''', '’');
最佳答案
SQLite(我知道的基本版本)在文本操作方面不是很强大。即使使用 sed、awk 或 perl 之类的东西,也可能不容易找到一个替代品来做 OP 想要的事情。
我将提供一些纯 SQLite 配方,需要对其进行扩展和组合以涵盖所有所需的情况(而不是不需要的情况)。诚然,查找并涵盖所有案例有点乏味。但这是我能想到的 SQLite 中最好的。我很高兴支持任何更简单、更有力的答案。您需要将您喜欢的食谱应用到您的数据库中。
也应该很容易将它们扩展到涵盖我没有想到的情况。
我建议首先仅使用简单的配方来尝试它们的效果,这只会以更改后的形式显示“markdown”列。只有当您喜欢它对所有条目的影响时,您才应该使用“更新/设置”来应用它。 (我相信你能够做到这一点,你对自己尝试的引用看起来不错。)
只是为了解释一下;应用方法 1 和 2 将涵盖我在示例输入中发现的一个示例,即“What.A.FILM.”。在聊天中,您(相当恭维地,谢谢)表示其他食谱正在“读懂您的想法”。发现该模式并将其扩展到任何其他示例应该不难。
我在 SQLite 中没有看到解决方案的一件事是“我重复“什么电影”blabla。”问题是引号和引用文本之间的空格。在 sed/perl/awk 解决方案中,可以检查“第一个/奇数直引号”和“第二个/偶数直引号”,但 SQLite 不能轻易做到这一点,也许根本不能,欢迎提出想法。
1 将“空格后跟直双引号”替换为“空格后跟左弯引号”:
从帖子中选择替换(markdown, ' "', ' "');
2 将“直双引号后跟空格”替换为“右弯引号后跟空格”:
从帖子中选择替换(markdown, '"', '"');
3 将“直双引号后跟逗号”替换为“右弯引号后跟逗号”:
从帖子中选择替换(markdown, '",', '”,');
4 将“直双引号后跟分号”替换为“右弯引号后跟分号”:
从帖子中选择替换(markdown, '";', '";');
5 将“直双引号后跟句号”替换为“结束花括号后跟句号”:
从帖子中选择替换(markdown, '".', '".');
对打开和关闭单引号执行相同的操作。当您开始发明自己的替代品时,请确保不要覆盖 http 链接,也不要覆盖 ''
,这两者显然都不是您预期的替换目标。
请注意,我明确承认这些替换在我自己的计算机上失败了。但在一次聊天中,OP 尝试了最简单的版本,并确认对他来说他们成功。主要区别似乎在于他使用数据库浏览器。
我认为这些东西因此“测试成功”,只是不在我的机器上。
关于SQLite 用弯引号替换直引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44317582/
我需要在 JavaScript 中的笛卡尔坐标和球坐标之间进行转换。我在论坛上浏览了一下,没有找到我要找的东西。 现在我有这个: this.rho = sqrt((x*x) + (y*y) + (z*
有没有matrix3d可以像这样把矩形变成梯形的?我知道常规的 2d 矩阵变换只能以平行四边形结束,因为您只能有效地倾斜和旋转。 div { width: 300px; height:
关于这个例子(d3.j radial tree node links different sizes),我想知道是否可以在 d3.js 中混合径向树和直线树。 对于我的 jsFiddle 示例:htt
我尽量把标题写得最好,但我不确定如何准确描述这里发生的事情,所以请随时更正。 我想使用 › 直 Angular 引号 (›) 而不是 > 直 Angular 引号 (>),虽然 › 字符比 > 短,但
我正在尝试使用 CSS 创建一个具有圆边的矩形棱柱,如下图所示。 到目前为止,我已经指定了顶部和底部的边界半径。问题是我不知道如何让另一边的左右边缘向内 curl 。因此,拐 Angular 处不应有
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 去年关闭。 社区去年审查了是否重
首先,我刚刚开始学习 HTML 和 CSS。 我想如何使用这段代码: https://codepen.io/martinjkelly/pen/vEOBvL .container { width:
我是一名优秀的程序员,十分优秀!