簡體   English   中英

如何使用正則表達式刪除半冒號?

[英]How to use regex to remove semi colons?

您好,我有這種數據:

a;b;c;d
1;2;3;4
a;g;h;j
f;g;f;d
a;d;8;d

我想修改為具有:

a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d

顯然,我有很多行,但是每次半冒號都位於同一位置時。 我試圖用notepad ++選擇列,並以什么代替半冒號,但該框為灰色...

你有解決方案嗎 ?

謝謝 !

按住ALT + SHIFT並使用箭頭鍵選擇第二個分號並將其刪除。

要么

按住ALT並單擊並拖動鼠標以選擇另一個分號並刪除它。

要么

  • 查找: ^(...)(.)
  • 替換為: \\1

這是我進行工作的在線正則表達式測試儀,您只需將數據替換為示例即可。

Regex : (\w+;)((\w+);(\w+))(;\w+)

演示

  • Ctrl + H
  • 查找內容: ^[^;]+;[^;]+\\K;
  • 替換為: LEAVE EMPTY
  • 檢查環繞
  • 檢查正則表達式
  • 全部替換

說明:

^           # beginning of string
  [^;]+     # 1 or more non semicolon
  ;         # 1 semi colon
  [^;]+     # 1 or more non semicolon
  \K        # forget all we have seen until this position
  ;         # 1 semi colon

給定示例的結果:

a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d

在此處輸入圖片說明

如果數據的可能值是小寫字母az或數字,則還可以使用捕獲組和字符類[a-z0-9]捕獲前三個字符,然后再匹配分號。 如果可以有超過1個字符,你可以使用一個量詞+對於字符類像[a-z0-9]+

然后替換為第一個捕獲組。

找什么

^([a-z0-9];[a-z0-9]);

用。。。來代替

$1

正則表達式演示

或者使用\\K您可以找到^[a-z0-9];[a-z0-9]\\K; 並將替換為空。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM