วิธีการลบบรรทัดที่ตรงกับรูปแบบเฉพาะด้วย Notepad ++


1

ฉันต้องออกจากบรรทัดที่มีทั้งชื่อผู้ใช้และรหัสผ่านเช่นนี้:

username:password

ฉันต้องลบบรรทัดที่ไม่มีชื่อผู้ใช้ที่เกี่ยวข้องเช่นนี้:

:password

ไฟล์ตัวอย่างแบบเต็มประกอบด้วย:

username:password
:password0
username:password1
username:password2
:password
username:password4
:password2
username2:password5

ผลที่ต้องการ:

username:password
username:password1
username:password2
username:password4
username2:password5

สำหรับส่วนสุดท้ายเพื่อลบบรรทัดว่างเปล่า: ค้นหา\n\n, แทนที่ด้วย `` (ไม่มีอะไร)
Leo

คำตอบ:


5

คุณสามารถใช้(\s:.)([^\s]+)นิพจน์ปกติและReplace withตัวเลือกที่ปล่อยว่างไว้เพื่อให้ได้ผลลัพธ์ตามที่คาดหวัง

เมื่อคุณเปิดเอกสารด้วยNotepad ++เพียงกดCtrl+Hและไปที่Replaceแท็บ จากนั้นเพียงใส่(\s:.)([^\s]+)ในFind what:ฟิลด์และปล่อยReplace withว่างให้แน่ใจว่าได้Regular expressionเลือกตัวเลือกแล้วกดReplace Allตัวเลือก

โดยพื้นฐานแล้วสิ่งนี้จะ:

ค้นหาสตริงที่ตรงกันที่ขึ้นต้นด้วย white space แล้วตามด้วยเครื่องหมายโคลอน:ที่ตามด้วยอักขระใด ๆ จนกระทั่ง white space ถัดไปตรงนี้ตรงกับ:passwordตำแหน่งที่มีช่องว่างต่อท้ายและนำหน้าระหว่างสตริง

สกรีนช็อต

ป้อนคำอธิบายรูปภาพที่นี่

ก่อน

username:password :password0 username:password1 username:password2 :password username:password4 :password2 username2:password5

หรือ

username:password
:password0
username:password1
username:password2
:password
username:password4
:password2
username2:password5

หลังจาก

username:password username:password1 username:password2 username:password4 username2:password5

หรือ

username:password

username:password1
username:password2

username:password4

username2:password5

ถ้าไปไม่ดีในรูปแบบนี้ไปEditและเลือกEOL Conversionตัวเลือกและจากนั้นเลือกUNIX/OSX Formatและจากนั้นกลับไปที่ตัวเลือกเดียวกันและจากนั้นเลือกและที่จะได้รับทั้งหมดกลับสายการบินและสายฟีดกลับเป็นรูปแบบของWindows Format WindowsCR/LF

เมื่อเสร็จแล้วคุณสามารถไปที่EditและเลือกLine Operationsและจากนั้นเลือกRemove Empty Linesตัวเลือกและคุณจะมีรูปแบบที่แน่นอนที่คุณต้องการลบบรรทัดว่าง

username:password
username:password1
username:password2
username:password4
username2:password5

แหล่งข้อมูลเพิ่มเติม


0
  • Ctrl+H
  • หาอะไร: ^:.+\R?
  • แทนที่ด้วย: LEAVE EMPTY
  • ตรวจสอบล้อมรอบ
  • ตรวจสอบการแสดงออกปกติ
  • อย่าตรวจสอบ . matches newline
  • Replace all

คำอธิบาย:

^         # beginning of line
  :       # semicolon
  .+      # 1 or more any character but newline
  \R?     # any kind of linebreak (ie. \r, \n, \r\n), optional (in order to delete the last line)

ตัวอย่างผลลัพธ์ที่ได้รับ:

username:password
username:password1
username:password2
username:password4
username2:password5
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.