【问题标题】:remove word with linebreak with phpmyadmin [duplicate]使用 phpmyadmin 删除带有换行符的单词 [重复]
【发布时间】:2017-01-26 14:25:56
【问题描述】:

我有一个带有表 post_text 的 mysql 数据库。在posttext中,我可以看到帖子消息。例如:

Goodmorning everybody,
so I want to ask you something about...

我想替换: "Goodmorning everybody, --linebreak-- so I want" "Jessica wants"

结果是

Jessica wants to ask you something about...

问题是换行符,我在 phpmyadmin 中看不到 \n\r 所以如何搜索完全匹配的句子换行符句子并将其替换为新句子。

非常感谢!

【问题讨论】:

  • 人们确实为自己制造困难。如果您只想修改一两行。使用 phpMyAdmin,浏览器到该行,单击编辑链接,您会看到一个编辑页面,您可以在其中手动编辑此列。放任何你喜欢的东西。 这就是为什么你有 phpMyAdmin
  • 它的 10.000 行 ;)
  • 啊....那你应该看看卢卡斯的回答。但是您确定要更改所有这些行来表达相同的意思吗?

标签: php mysql phpmyadmin


【解决方案1】:
UPDATE yourTable SET post_text = REPLACE(REPLACE(post_text, '\r', ''), '\n', '');

它对我有用。希望对您有所帮助!

来源:How to remove new line characters from data rows in mysql?

【讨论】:

  • 这将替换所有\r\n。但 OP 只需要文本的一部分。
  • 是的,没错,我不明白这个问题。谢谢你!
【解决方案2】:

当您将其标记为 PHP 和 PhpMyAdmin 时,我不确定您要采用哪种方法,但我会提供这两种方法。

在 PHP 中,您可以使用 str_replace() 函数替换字符串中的文本。

您可以将其与“chr()”函数结合使用特定的 ASCII 码来查找文本。

将所有“回车 (\r)”字符替换为 html 字符串“
”的示例如下:

str_replace(char(13), '<br />', $my_post_text_data_cell);

*注意:unix和windows使用不同的换行符,有些只是\r有些是\r\n

对于 PHPMyAdmin,您将很难使用浏览器进行搜索,但您可以编写 SQL 语句来查找它们,当使用字符符号时,您将需要使用正则表达式检查。

看看:https://dev.mysql.com/doc/refman/5.7/en/regexp.html

如前所述,您的 SQL 将类似于:(未测试)

SELECT * FROM post_text WHERE post_data REGEXP '^\r';

您可以在此处找到有关使用正则表达式的更多信息: https://www.tutorialspoint.com/mysql/mysql-regexps.htm

【讨论】:

  • 我能说 SELECT * FROM post_text WHERE post_data REGEXP '^大家早上好\r';
  • 我可以用你的mysql代码和句子的一部分。所以..大家早上好;\r?
  • 您可以,但不是以您拥有的形式。正则表达式使用特定的(而不是直观的!)语法。我建议使用像这里这样的正则表达式构建器,以帮助构建您需要的确切表达式:regexr.com 您可以使用我上面答案中第二个链接上的图表来了解所需的语法
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-27
  • 1970-01-01
  • 2018-11-20
  • 2012-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-04-02
相关资源
最近更新 更多