【发布时间】:2020-07-13 14:11:55
【问题描述】:
我的印象是trim command in PHP,如果省略指定特定字符的第二个参数,则不仅会删除空格,还会删除字符串开头(和结尾)的新行。
此函数返回一个从 str 的开头和结尾。如果没有第二个参数, trim() 将 去掉这些字符:
" " (ASCII 32 (0x20)),一个普通的空格。 "\t" (ASCII 9 (0x09)), 一个 标签。 "\n" (ASCII 10 (0x0A)),换行(换行)。 "\r" (ASCII 13 (0x0D)),回车。 “\0”(ASCII 0 (0x00)),NUL 字节。 "\x0B" (ASCII 11 (0x0B)),垂直制表符。
但是,我将它应用于一个字符串,该字符串的开头有一些新行,是由删除的文本产生的,它留下了以下内容:
\u200b\n\nTHE TEXT I WANT STARTS HERE. I WANT TO GET RID OF EVERTHING BEFORE WORD THE
我尝试使用修剪的原因是因为我想在文本中间保留新行和格式,因为它可能会被分成段落。我只是想修剪它的边缘。
trim 应该删除字符串开头和结尾的换行符和新行,我错了吗?如上所述删除新行的正确方法是什么?
【问题讨论】:
-
“我错了 trim 应该删除字符串开头和结尾的换行符吗?” - 不,你只是错误地假设你 在
\u200b\n\nTHE TEXT …的 begin 处有 换行符 -\u200b不是换行符,也不是 trim 将删除的空白字符列表的一部分,您从手册。 -
\u200b 是零宽度空间,\n 是新行。\n 是手册中提到的内容之一。你推荐什么代码?
-
“\n 是手册中提到的内容之一” - 是的,但它不是在开头,如果它有其他之前的东西。