删除之前的空格;之后 ;不删除新行

问题描述 投票:0回答:2

我正在使用 Notepad++ v8.4.6.

我想替换

;
前后的所有空格。例如,给定这一行:

H;53; ;00 00 35.37;-29 15 48.2;10.96; ;H;000.14739023;-2.926.338.247; ;  -1.76;   11.94;  -12.96;  2.18;  1.03;  2.45;  3.15;  1.27; 0.03;-0.07; 0.07; 0.27; 0.05; 0.08;-0.10;-0.32; 0.11;-0.22;0; 1.19;53;      ;     ;      ;     ; ;      ;     ; ;    ;    ;T; ;111.006;0.0041;0.041;152; ;11.03;11.17;       ; ; ; ;          ; ;  ;1; ; ; ;  ;   ;       ;     ;     ;    ; ;G; ;      ;          ;C-29 18916;          ;0.72;            ;  

我想得到这个:

H;53;;00 00 35.37;-29 15 48.2;10.96;;H;000.14739023;-2.926.338.247;;-1.76;11.94;-12.96;2.18;1.03;2.45;3.15;  1.27; 0.03;-0.07; 0.07; 0.27; 0.05; 0.08;-0.10;-0.32; 0.11;-0.22;0; 1.19;53;;;;;;;;;;;T;;111.006;0.0041;0.041;152; ;11.03;11.17;;;;;;;;1;;;;;;;;;;;G;;;;C-29 18916;;0.72;;

关于我之前的问题Remove all the spaces between `;` and `CRLF`,我知道了如何删除那些空格。

现在我已经尝试删除

;
之后的空格,但它也删除了行尾的新行:

如果我有这个:

;  C-29 18916 ;

我想得到这个:

;C-29 18916;

没有删除换行符。

我怎么能在不删除新行的情况下做到这一点有这样的东西

;\n

regex notepad++
2个回答
1
投票

使用

h*;\h*
并替换为
;

\h*
代表0个或多个水平空间。


0
投票

要替换

;
前后的所有空格,匹配

\s*;\s*
  • \s*
    - 零个或多个空格
  • ;
    - 字面上的
    ;
  • \s*
    - 零个或多个空格

并替换为

;
.

演示

如果您只用 what 替换实际空格,请将

\s
替换为
 
(空格)。

© www.soinside.com 2019 - 2024. All rights reserved.