Notepad ++ ค้นหาและแทนที่สตริงด้วยบรรทัดใหม่


212

พิจารณาสถานการณ์ที่คุณมีสตริงเฉพาะที่คุณต้องการค้นหาและแทนที่ คุณต้องการแทนที่ด้วยสตริงใหม่ที่มีอักขระขึ้นบรรทัดใหม่ (หรือลำดับอักขระ)

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange

ในสถานการณ์ข้างต้นฉันต้องการค้นหา " xyz" และแทนที่ช่องว่างด้วยการขึ้นบรรทัดใหม่ / ขึ้นบรรทัดใหม่

ผลลัพธ์จะมีลักษณะดังนี้:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ︙

ฯลฯ ...

คำถาม:คุณจะประสบความสำเร็จในการทำสิ่งนี้ได้ง่ายที่สุดโดยใช้ Notepad ++ อย่างไร มีเครื่องมืออื่น ๆ ที่คุณแนะนำให้ใช้คำสั่งนี้อย่างง่ายดายหรือไม่?

คำตอบ:


279

Notepad ++ จะทำได้ดี

สตริงการค้นหา:

 xyz
xyzหมายเหตุพื้นที่ในด้านหน้าของ

แทนที่สตริง:

\ r \ nxyz

คุณจะต้องตั้งค่า"โหมดการค้นหา"เป็น"ขยาย" (กล่องกลุ่มซ้ายล่างในกล่องโต้ตอบแทนที่ ) เพื่อให้แผ่นจดบันทึก Notepad ++ ได้รับเกียรติ


พื้นหลังบางอย่าง: "\ r \ n" เป็นรหัสยกเว้นสำหรับการรับคืนรถซึ่งเป็นมาตรฐานสำหรับบรรทัดใหม่ใน Windows ระบบสไตล์ Unix ใช้เพียง \ n (ขึ้นบรรทัดใหม่) IDEs, Notepad ++ ที่รวมอยู่ส่วนใหญ่จะเข้าใจทั้งสไตล์และวาดภาพแต่ละบรรทัดด้วยบรรทัดใหม่ แต่ยูทิลิตี้หลักของ Windows ไม่เข้าใจ \ n ว่าเทียบเท่ากับ \ r \ n ดังนั้นหลังมักจะเหมาะสมที่สุดหากไฟล์นั้นตั้งใจที่จะ ใช้ในสภาพแวดล้อม Windows


2
\ r \ n = ไวยากรณ์บรรทัดใหม่ของ Windows อย่างไรก็ตามสำหรับทุกอย่างที่ไม่ใช่โน้ตแพดเก่าแบบธรรมดามันจะยอมรับ \ n สำหรับการขึ้นบรรทัดใหม่
Macha

3
วลีของคุณ "ธรรมดามากขึ้น" ทำให้เข้าใจผิด "\ r \ n" เป็นมาตรฐานสำหรับ Windows มีเพียงบรรณาธิการและ IDE จำนวนมากที่รับรู้บรรทัด Unix / Linux ที่ลงท้ายด้วย "\ n" และแสดงเอกสารตามนั้น ไม่มีอะไรเกี่ยวกับ "\ n" ที่ทำให้เป็นเรื่องปกติมากขึ้น
Brian Lacy

ความจริงแล้ว Win / DOS เวอร์ชั่นเหมาะสมกว่าสำหรับฉัน "\ r" หมายถึง "Carriage Return หรือ 'ส่งคืน carriage / เคอร์เซอร์ไปที่จุดเริ่มต้นของบรรทัด'" และ "\ n" หมายถึง "เลื่อนแคร่ / เคอร์เซอร์ไปข้างหน้าหนึ่งบรรทัด" แน่นอนว่ายูนิกซ์มาเมื่อ 20 ปีก่อนดังนั้นฉันจึงเดาว่า Microsoft เป็นผู้ทำลายมาตรฐาน
Brian Lacy

7
สิ่งนี้จะไม่ทำงานจนกว่าคุณจะตั้งโหมดการค้นหาตามที่ระบุไว้ในคำตอบอื่น ๆ : superuser.com/questions/34451/ …
codeulike

7
หากคุณกำลังพยายามแทนที่สตริงตัวอักษร "\ r \ n" ด้วยบรรทัดใหม่จริงฉันต้องทำต่อไปนี้: ตั้งโหมดการค้นหาเป็นปกติค้นหา / แทนที่ \ r \ n ด้วย *** จากนั้นตั้งค่าโหมดการค้นหาเป็นแบบขยายค้นหา / แทนที่ *** ด้วย \ r \ n
goku_da_master

61

ใน Notepad ++ มันง่ายมาก ...

  • ค้นหา: xyz
  • แทนที่ด้วย: \ n


  • โหมดค้นหา: ขยาย (\ n, \ t, ฯลฯ )

เคล็ดลับคือการตั้งค่าโหมดการค้นหา


1
คำตอบนี้ใช้ได้สำหรับฉันแล้วคำตอบที่ยอมรับไม่ได้ Ver 5.8.6
bdwakefield

ใช่เหมือนกันที่นี่คำตอบที่ยอมรับไม่ได้ระบุโดยใช้โหมดขยาย ..
Andy

ทำไมไม่\r\n(แทน\n)
ปีเตอร์มอร์เทนเซ่น

5

ฉันโกงนิดหน่อยเมื่ออักขระ S & Ring ที่ฉันไม่สามารถพิมพ์ลงในช่องข้อความโดยตรง (เช่นแท็บและบรรทัดใหม่) ค้นหาที่ใดที่หนึ่งในเอกสารที่มีตัวอักษรนั้นอยู่แล้วคัดลอกแล้ววางลงในช่องแทนที่

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


5

ในช่องโต้ตอบ "แทนที่" ตรวจสอบให้แน่ใจว่าภายใต้โหมดการค้นหาคุณได้เลือก "ขยาย" จากนั้นพิมพ์ในช่องค้นหาป้อน "xyz" และแทนที่ด้วย "\ n"


1
ทำไมไม่\r\n(แทน\n)
ปีเตอร์มอร์เทนเซ่น

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