【问题标题】:Remove newlines in quoted string [duplicate]删除引用字符串中的换行符[重复]
【发布时间】:2014-12-16 17:54:23
【问题描述】:

在 PHP 中,我正在处理双引号之间的字符串,我无法控制这些字符串的生成方式。不知何故,在某些时候,换行符出现在某些字符串的末尾。结果是这样的:

"This is a value"
"I'm another string!"
"I somehow have a newline at the end
"
"Okay, this is the last one.."

如果我要迭代地遍历所有这些字符串,我怎样才能最好地删除这些换行符?

我可以想象我应该使用preg_replace,但我不知道在带引号的字符串末尾去掉换行符的最佳模式是什么。

提前致谢!

杰伦

【问题讨论】:

  • 应该是这样的:preg_replace('/[\r\n]+"$/, '"', $string);
  • @Narf:感谢您的回复!你能解释一下这个吗?是否像双引号之前的任何换行符,1个或多个?并用双引号替换匹配项?
  • 基本上是的,但从技术上讲,它用双引号替换任意数量的回车和/或换行符,后跟双引号,并且双引号必须是字符串中的最后一个字符。

标签: php regex string newline


【解决方案1】:

有点像

  $string = trim(preg_replace('/\s\s+/', ' ', $string));

会做好的

【讨论】:

  • 它是如何完成这项工作的?
  • 感谢您的评论。这是否像用空格替换任何类型的空白,并修剪前导和尾随空格?这很聪明。
猜你喜欢
  • 1970-01-01
  • 2014-07-23
  • 1970-01-01
  • 2013-11-12
  • 2021-03-20
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 2019-09-28
相关资源
最近更新 更多