【问题标题】:Trimming spaces while preserving line breaks在保留换行符的同时修剪空格
【发布时间】:2012-01-19 14:34:54
【问题描述】:

我需要修剪多行字符串的前导和尾随空格。我已经用字符串替换方法尝试了这个正则表达式:

String.replace(/^\s+|\s+$/gm, "");

但是,在仅包含空格的行中,换行符会在此过程中丢失。例如(^ 表示空格):

^^^^1234^^^^
^^^^5678^^^^
^^^^^^^
^^90^^

输出这个:

1234
5678
90

我应该使用什么正则表达式来保留第三(空)行:

1234
5678

90

【问题讨论】:

  • 为什么不能使用String.trim()
  • 这个方法有多行模式吗?

标签: javascript regex


【解决方案1】:

"\s" 匹配任何空白字符,也匹配换行符。 因此,要实现所需的修剪,您必须将“\s”替换为常规空格字符(或将被视为空格的字符组)。

string.replace(/^ +| +$/gm, "");

【讨论】:

  • 我已更新为String.replace(/^\x20+|\x20+$/gm, "")。似乎工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 2010-09-10
  • 2011-12-05
  • 2017-02-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多