ค้นหาและแทนที่สตริงสุ่มแบบยาว n ตัวใน Notepad ++ โดยใช้ wildcards / regex


9

ฉันมีการถ่ายโอนข้อมูล SQL youtubehd:2nj6bykwกับการแสดงออกเช่น 2nj6bykwยังสามารถเป็นสตริงแบบสุ่มที่แตกต่างกัน มีความยาว 8 อักขระเสมอ

ฉันต้องการที่จะเปลี่ยนมีเพียงyoutubehd:2nj6bykwyoutubehd

ฉันจะทำสิ่งนี้โดยไม่แทนที่ด้วยตนเองทีละคนได้อย่างไร การถ่ายโอนข้อมูล SQL มีความยาวมากกว่า 230000 บรรทัดและมีสตริงเหล่านี้เกิดขึ้นประมาณ 200 รายการ

ฉันคิดว่าฉันต้องการไวด์การ์ด แต่ฉันไม่รู้ว่ามันคืออะไรและฉันจะทำสิ่งนี้ได้อย่างไร

คำตอบ:


15

โปรดตรวจสอบว่าคุณมีข้อมูลสำรองในกรณีที่มีข้อผิดพลาดเกิดขึ้น

  • ใน Notepad ++ ไปที่ค้นหา→แทนที่
  • ในกล่องค้นหาสิ่งที่วางต่อไปนี้:youtubehd:\w\w\w\w\w\w\w\w
  • ในกล่องข้อความแทนที่ด้วยวางต่อไปนี้:youtubehd
  • ตรวจสอบให้แน่ใจว่าตั้งโหมดค้นหาเป็นนิพจน์ทั่วไป
  • คลิกแทนที่ทั้งหมด

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

แก้ไข:

มีการชี้ให้เห็นในความคิดเห็นด้านล่างซึ่งคุณสามารถใช้youtubehd:\w{8}เป็นรูปแบบการค้นหาของคุณแทน สิ่งนี้ถูกต้องและเป็นที่นิยมมากกว่า การสนับสนุนสำหรับสิ่งนี้ถูกเพิ่มเข้ามาใน Notepad ++ v6 เท่านั้น แต่สิ่งที่ออกมาหลังจากนั้นก็ถูกเขียนขึ้นในตอนแรกด้วยเหตุนี้ฉันจึงใช้แบบฟอร์มที่ยาวกว่านี้ ดูที่นี่สำหรับข้อมูลเพิ่มเติม


1
+1 ฉันพยายามเอาชนะตัวเอง มันควรจะง่ายมาก แต่ก็ไม่ง่ายที่จะหา ฉันทดสอบและใช้งานได้ ฉันจะเพิ่ม: เลือก "นิพจน์ปกติ" สำหรับประเภทการค้นหา
KCotreau

จะมีความสง่างามกว่านี้: youtubehd:\w{8}สำหรับวันตายตัวและวันyoutubehd:\w*อื่น ๆ
AndriuZ

@AndriuZ: ฉันรู้เกี่ยวกับ\w{8}ไวยากรณ์ แต่ความรู้ของฉัน Notepad ++ ไม่สนับสนุนในเวลานั้นและฉันเชื่อว่ามันถูกเพิ่มเข้ามาในรุ่นที่ใหม่กว่า ฉันอาจจะอัปเดตคำตอบเพื่อสะท้อนสิ่งนี้ในบางจุด
James P

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