删除尾随换行符

发布于 2024-09-15 05:37:20 字数 208 浏览 4 评论 0原文

我有一个 MySQL 数据库,我从中提取一个字符串,该字符串是由换行符分隔的单词列表。现在我只想删除尾随 换行符。

我尝试使用 preg_replace 因为

$string = preg_replace('/\n/','',$string);

它有效,但字符串中的所有换行符都被删除:(

我该怎么做?

I've a MySQL database from which I extract a string which is a list of words separated by newline. Now I want to remove only the trailing
newline.

I tried using preg_replace as

$string = preg_replace('/\n/','',$string);

It works, but all the newlines in the strings are removed :(

How can I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

薄荷→糖丶微凉 2024-09-22 05:37:20

您需要添加行尾锚点:

$string = preg_replace('/\n$/','',$string);

对于这种简单的替换,最好避免正则表达式。使用 rtrim 可以轻松完成此操作:

$string = rtrim($string);

<不带第二个参数的 code>rtrim 将删除尾随空白字符,其中包括:

  • 换行符
  • 空格
  • 垂直制表符
  • 水平制表符
  • 回车符

You need to add the end of line anchor:

$string = preg_replace('/\n$/','',$string);

It's better to avoid regular expressions for such a simple substitution. This can easily be done using rtrim as:

$string = rtrim($string);

rtrim without the second argument will remove the trailing whitespace characters which include:

  • newline
  • space
  • vertical tab
  • horizontal tab
  • carriage return
甚是思念 2024-09-22 05:37:20

不要使用正则表达式来完成如此琐碎的任务。您可以使用 PHP 的 rtrim() (可能以 "\n" 作为第二个参数)或 substr() (如 substr($string, 0, -1))或 MySQL 的 RTRIM()

Don't use regular expressions for such a trivial task. You can use PHP's rtrim() (possibly with "\n" as the second parameter) or substr() (like substr($string, 0, -1)) or MySQL's RTRIM().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文