ฉันจะแทนที่บรรทัดว่างใน Notepad ++ ได้อย่างไร ฉันลองค้นหาและแทนที่ด้วยบรรทัดว่างในการค้นหาและไม่มีอะไรในการแทนที่ แต่มันไม่ทำงาน มันอาจต้องการ regex
ฉันจะแทนที่บรรทัดว่างใน Notepad ++ ได้อย่างไร ฉันลองค้นหาและแทนที่ด้วยบรรทัดว่างในการค้นหาและไม่มีอะไรในการแทนที่ แต่มันไม่ทำงาน มันอาจต้องการ regex
คำตอบ:
คุณต้องการบางสิ่งบางอย่างเช่นการแสดงออกปกติ
คุณต้องอยู่ในExtended
โหมด
หากคุณต้องการทุกสายที่จะจบลงในบรรทัดเดียว\r\n
ใช้ หากคุณต้องการลบบรรทัดว่างให้ใช้\n\r
@Link ในตอนแรกแนะนำ
แทนที่การแสดงออกอย่างใดอย่างหนึ่งโดยไม่มีอะไร
\r\n\r\n
\r\n
\r\n\W*\r\n
และแทนที่ด้วย\r\n
(\r\n|\r|\n)(\s*(\r\n|\r|\n))+
และแทนที่ด้วย\r\n
ดูในการดำเนินการที่นี่: regex101.com/r/qD9dB1/1
ขณะนี้มีวิธีการในการทำสิ่งนี้ในเวอร์ชัน 6.5.2
Edit -> Line Operations -> Remove Empty Lines
หรือ Remove Empty Lines (Containing Blank characters)
มีปลั๊กอินที่เพิ่มเมนูชื่อ TextFX
มีปลั๊กอินที่เพิ่มเมนูที่มีชื่อว่าเป็นเมนูนี้มีตัวเลือกการแก้ไขข้อความด่วนที่หลากหลายซึ่งทำให้ผู้ใช้สามารถทำการเปลี่ยนแปลงรหัสได้อย่างรวดเร็ว ในเมนูนี้คุณสามารถค้นหาสิ่งที่เลือกเช่น Drop Quotes, Delete Lines, Blank, Unwrap และ Rewrap Text
ทำดังต่อไปนี้:
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
TextFX > TextFX Tools
คือการจัดเรียงบรรทัด วิธีที่มีประโยชน์มากในการทำ Unix sort -u
บนกล่อง Windows โดยไม่ต้อง cygwin หรือ unxutils หรือคล้ายกัน
Settings > Import > plugin...
และค้นหาไฟล์ dll เพื่อติดตั้ง มันจะกลายเป็นรายการเมนูโดยPlugins
^[ \t]*$\r?\n
ลงไปในการค้นหาสิ่งที่ออกมาแทนที่ว่าง ซึ่งจะตรงกับทุกบรรทัดที่ขึ้นต้นด้วย white space และลงท้ายด้วย carriage return (ในกรณีนี้ windows crlf)^\R
(สำหรับบรรทัดว่างที่แน่นอน) หรือ^\h*\R
(สำหรับบรรทัดว่างที่มีช่องว่างเท่านั้น)คุณสามารถทำตามเทคนิคดังที่แสดงในภาพหน้าจอต่อไปนี้:
^\r\n
keep this empty
Regular expression
หมายเหตุ:สำหรับไฟล์ * nix ให้ค้นหาโดย\n
สิ่งนี้ใช้ได้กับฉัน:
ctrl + h
( ปุ่มลัดเพื่อแทนที่)find what
กล่อง
ต่อไปนี้ [\n\r]+$
หรือ^[\n\r]+
Replace with
ช่องว่างไว้Search Mode
เลือกRegex
Replace All
ในแผ่นจดบันทึก ++ กด CTRL + H ในโหมดค้นหาให้คลิกปุ่มตัวเลือก "ขยาย (\ n, \ r, \ t ... )" จากนั้นพิมพ์ลงในช่อง "ค้นหาอะไร": \ r \ n (ย่อมาจาก CR LF ) และปล่อยให้ช่อง "แทนที่ด้วย" ว่างเปล่า ..
ในที่สุดก็โดนแทนที่ทั้งหมด
\n
แต่ถ้าไฟล์ของคุณถูกบันทึกด้วยระบบปฏิบัติการยูนิกซ์ตอนจบบรรทัดค้นหาเฉพาะ
ฉันไม่แน่ใจเกี่ยวกับ regex หรือสถานการณ์ของคุณ ..
วิธีการเกี่ยวกับ CTRL + A เลือกเมนู TextFX -> แก้ไข TextFX -> ลบบรรทัดว่างเปล่าและวิโอลาบรรทัดว่างทั้งหมดหายไป
หมายเหตุด้านข้าง - หากบรรทัดว่างเปล่าเช่นไม่มีช่องว่างสิ่งนี้จะใช้งานได้
คุณสามารถค้นหา regex ต่อไปนี้^(?:[\t ]*(?:\r?\n|\r))+
และแทนที่ด้วยฟิลด์ว่าง
สิ่งนี้ไม่สามารถใช้งานได้หากบรรทัดว่างมีแท็บหรือช่องว่าง หน้าเว็บหลายแห่ง (เช่นhttp://www.guardian.co.uk/ ) มีเส้นสีขาวเหล่านี้อันเป็นผลมาจากการแก้ไข HTML ที่ผิดพลาด
ลบ white space โดยใช้นิพจน์ทั่วไปดังต่อไปนี้:
รูปแบบการเปลี่ยนแปลง: [\ t] + $ เป็นอะไรเลย
โดยที่ [\ t] ตรงกับแท็บหรือช่องว่าง '+' ตรงกับเหตุการณ์หนึ่งเหตุการณ์ขึ้นไปและ '$' ทำเครื่องหมายจุดสิ้นสุดของบรรทัด
จากนั้นใช้ notepad ++ / textFX เพื่อลบบรรทัดว่างหนึ่งบรรทัดหรือมากกว่านั้น ตรวจสอบให้แน่ใจว่าบรรทัดว่างเหล่านี้ไม่มีนัยสำคัญในบริบทที่กำหนด
บางครั้ง \ n \ r ฯลฯ ไม่ทำงานที่นี่เพื่อคิดออกสิ่งที่การแสดงออกปกติของคุณควรจะเป็น
ข้อดีของเคล็ดลับนี้: หากคุณต้องการแทนที่ในหลายไฟล์พร้อมกันคุณต้องใช้วิธีนี้ ด้านบนจะไม่ทำงาน ...
1) Ctrl + H
(หรือSearch 🠆 Replace..
) เพื่อเปิดหน้าต่างแทนที่
2) เลือก'Search Mode'
'การแสดงออกปกติ'
3) ใน'ค้นหาอะไรประเภท^(\s*)(.*)(\s*)$
และใน'แทนที่ด้วย'ประเภท\2
^
- จับคู่จุดเริ่มต้นของอักขระบรรทัด(\s*)
- จับคู่อักขระเว้นวรรค(.*)
- จับคู่อักขระใด ๆ(\s*)
- จับคู่อักขระเว้นวรรคว่าง$
- จับคู่ส่วนท้ายของอักขระบรรทัด\2
- หมายถึงการแข่งขันที่ตรงกันของวงเล็บที่ 2ดู https://www.rexegg.com/regex-quickstart.htmlสำหรับข้อมูลเพิ่มเติมเกี่ยวกับ regex
^\r\n
ไม่มีอะไร (เลือกนิพจน์ทั่วไป)หมายเหตุ:ขั้นตอนที่ 1 จะลบรหัสที่คุณตั้งใจทำผ่านแท็บและช่องว่าง
CTRL + A เลือกเมนู TextFX -> แก้ไข TextFX -> ลบบรรทัดว่างตามที่แนะนำด้านบน
แต่ถ้าบรรทัดมีช่องว่างให้เลื่อนเคอร์เซอร์ไปที่บรรทัดนั้นแล้วทำ CTRL + H ส่วน "ค้นหาอะไร:" จะแสดงพื้นที่ว่างและในส่วน "แทนที่ด้วย" ให้ปล่อยว่างไว้ ตอนนี้ช่องว่างทั้งหมดจะถูกลบและตอนนี้ลอง CTRL + A เลือกเมนู TextFX -> แก้ไข TextFX -> ลบบรรทัดว่าง
/n/r
ถือว่าเป็นตัวแบ่งบรรทัดประเภทเฉพาะ หากต้องการกำหนดเป้าหมายบรรทัดว่างใด ๆ คุณสามารถใช้:
^$
สิ่งนี้บอกว่า - บรรทัดใด ๆ ที่เริ่มต้นและลงท้ายด้วยไม่มีอะไรระหว่าง นี่เป็นสิ่งที่ดึงดูดมากกว่า แทนที่ด้วยสตริงว่างเปล่าเดียวกัน
ฉันไม่เห็นคำตอบที่รวมกันดังนั้นค้นหา ^ \ s + $ และแทนที่ด้วย {nothing}
^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line
^\s+^(\S)
\1
ทางเลือกที่ง่ายสำหรับการลบพื้นที่สีขาวออกจากบรรทัดว่าง:
การดำเนินการนี้จะลบช่องว่างต่อท้ายทั้งหมดรวมถึงช่องว่างต่อท้ายในบรรทัดว่าง ตรวจสอบให้แน่ใจว่าไม่มีช่องว่างต่อท้ายที่สำคัญ
นิพจน์ด้านบนและนิพจน์ส่วนขยายไม่ทำงานสำหรับฉัน แต่นิพจน์ทั่วไป "$ \ n $" ทำ
งานนี้สำหรับฉัน:
SEARCH:^\r
REPLACE: (empty)
\n
และ windows eol\r\n