จับคู่และลบใน Notepad ++


16

ฉันมีข้อความต่อไปนี้ในNotepad ++

192.168.0.1 37 ms N / A
192.168.0.2 Dead N / S
192.168.0.3 Dead N / S
192.168.0.100 37 ms N / A

ฉันจะค้นหาและแทนที่ที่ตรงกับ "Dead" และกำจัดบรรทัดที่มีเอาต์พุตดังต่อไปนี้ได้อย่างไร

192.168.0.1 37 ms N / A
192.168.0.100 37 ms N / A

ฉันพยายามใช้นิพจน์ทั่วไป ^.*Dead.*$ที่ลบบรรทัด แต่ไม่ได้ลบช่องว่าง


น่าเสียดายที่มันไม่ใช่เส้นที่มี Dead ซึ่งเป็นปัญหามันคือ endline ที่จุดสิ้นสุดของบรรทัดก่อนหน้าก่อน Dead ฉันไม่แน่ใจว่าคุณสามารถใช้ regex เพื่อค้นหาบรรทัดและสิ้นสุดก่อนหน้าได้หรือไม่
SC Ghost

คำตอบ:


17

ไปที่การค้นหาจากนั้นไปที่แท็บทำเครื่องหมายป้อน "ตาย" ตรวจสอบ "เส้นทำเครื่องหมาย" และคลิก "ค้นหาทั้งหมด" มันส่งผลให้คั่นหน้าสำหรับทุกบรรทัดเหล่านั้น

ในเมนูการค้นหามีจุด "ลบบรรทัดบุ๊กมาร์ก"


1
ฉันชอบคำตอบนี้!
vsync

ในเวอร์ชั่น 7.7.1 หลังจากกด Ctr + F Markหาแท็บที่ เลือกตัวเลือกบรรทัดบุ๊กมาร์กป้อนสตริงที่คุณต้องการและคลิกทำเครื่องหมายทั้งหมด ในตอนนี้ในเอกสาร F2 สามารถใช้เพื่อนำทางบุ๊กมาร์กสำหรับไปข้างหน้าและ Shift + F2 สำหรับด้านหลัง Ctrl + F2 เพื่อสลับบุ๊กมาร์ก ตอนนี้ค้นหาเมนูการค้นหาที่ 3 ด้านบนซ้าย ค้นหาตัวเลือกบุ๊คมาร์คที่ด้านล่าง ใช้Remove Bookmarked Linesตัวเลือกเพื่อลบบรรทัดทั้งหมด
Ramaprakasha

16

คุณสามารถใช้สองขั้นตอน:

ใช้ regex เพื่อแทนที่การจับคู่^.*Dead.*$ด้วยmarkedfordel

จากนั้นในโหมดขยายสำหรับการแข่งขันของmarkedfordel\r\nแทนที่ด้วยที่ว่างเปล่า

ภาพหน้าจอ:

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


สิ่งที่ดีที่คุณอยู่ที่นี่ฉันจะตอบอย่างสุ่มสี่สุ่มห้าบอกว่ามันสามารถทำได้ด้วยเพียง regex ก่อนที่จะคิดเกี่ยวกับมัน
MBraedley



0

คุณสามารถใช้ขั้นตอนแรกของคุณเพื่อทำให้บรรทัดที่มี "Dead" ว่างเปล่าจากนั้นสิ่งที่ฉันมักจะทำคือใช้ปลั๊กอินตัวใดตัวหนึ่งที่รวมอยู่ใน Notepad ++ เพื่อลบบรรทัดว่าง ในการทำเช่นนั้นฉันกด Ctrl + A เพื่อไฮไลต์เอกสารทั้งหมดจากนั้นไปที่เมนู TextFX (สำหรับปลั๊กอิน TextFX) ไปที่ TextFX Edit แล้วเลือกลบบรรทัดว่าง (ประมาณครึ่งหนึ่งของเมนู) ตามที่กล่าวไว้จะลบบรรทัดว่างทั้งหมดในภูมิภาคที่ไฮไลต์

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