删除尾随换行符
我有一个 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要添加行尾锚点:
对于这种简单的替换,最好避免正则表达式。使用 rtrim 可以轻松完成此操作:
<不带第二个参数的 code>rtrim 将删除尾随空白字符,其中包括:
You need to add the end of line anchor:
It's better to avoid regular expressions for such a simple substitution. This can easily be done using rtrim as:
rtrim
without the second argument will remove the trailing whitespace characters which include:不要使用正则表达式来完成如此琐碎的任务。您可以使用 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) orsubstr()
(likesubstr($string, 0, -1)
) or MySQL'sRTRIM()
.