【问题标题】:Remove line spaces [duplicate]删除行空格[重复]
【发布时间】:2020-03-02 19:55:57
【问题描述】:

如何删除行空格但不删除下一个字符串的结构。

    P0:::inicial
    P1:::pregunta
    P2:::pregunta
    P3:::pregunta
    R1:::respuesta
    R2:::respuesta
    R3:::respuesta
    R4:::respuesta
    R5:::respuesta
    R6:::respuesta
    R7:::respuesta
    R8:::respuesta
    R9:::respuesta
    C1:::cotizacion
    C2:::cotizacion
    C3:::cotizacion
    A1:::agregar
    A2:::agregar
                         <------ I want delete this spaces.
    C4:::cotizacion

我尝试使用正则表达式,但是当正则表达式和替换删除字符串上的所有空格但我只想删除没有信息的空格时遇到问题。

试试这样的:

replace(/[\r\n]+/g, " ");

【问题讨论】:

  • /^\s*$(?:\r\n?|\n)/gm 试试这个。

标签: javascript regex typescript


【解决方案1】:

您可以将此正则表达式与锚点和 MULTILINE 标志一起使用:

.replace(/^[ \t]*[\r\n]+/gm, "")

RegEx Demo

  • MULTILINEm 模式使 ^ 匹配每一行的开头。
  • ^: 匹配行首
  • [ \t]*: 匹配 0 个或多个空格或制表符
  • [\r\n]+:匹配 1+ 个换行符 \r\n

【讨论】:

  • \s 不是 Space 的首选正则表达式吗?
  • \s 也匹配新行,而不仅仅是水平空格。
  • 是的,/^[\s]*[\r\n]+/m 这就是我的想法,g 也不是必需的,因为 CR 和 LF...
  • g 如果输入中有更多这样的空行,则需要。同样^[ \t]*[\r\n]+^[\s\t]*[\r\n]+ 更有效,因为\s 匹配所有类型的空格。其实[\s\t]可以改成\s
  • @anubhava 是的,我忘了删除\t(现在完成;))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 2023-03-11
  • 2016-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多