Notepad ++ Regex ช่วยในการล้างไฟล์


1

ฉันมีไฟล์ csv (ตัวคั่นคอลัมน์คือ "& lt ;; & gt;" ตัวคั่นข้อความคือเครื่องหมายคำพูดคู่และตัวคั่นแถว "crlf") มากกว่า 18,000 บรรทัด

อย่างไรก็ตามข้อมูลจำนวนมากที่อยู่ในตัวคั่นข้อความมี "crlf" ซึ่งจะสร้างปัญหาเมื่อพยายามนำเข้าหรือตรวจสอบความถูกต้องของโครงสร้างไฟล์รวมถึงข้อมูลอื่น ๆ

"2"<;>"1305767"<;>"MSCUFH613249 [CRLF] 199PACKAGES"<;>""<;>"Y"[CRLF]

ฉันลองคำแนะนำที่พบในโพสต์ต่อไปนี้เพื่อประโยชน์

  1. แทนที่ตัวละคร
  2. แทนที่ Carriage Return

ฉันสามารถใช้ Notepad ++ เพื่อลบ Carriage return โดยใช้ Find \ Replace พร้อมกับตัวเลือก Wrap Around และ Extented อย่างไรก็ตามสิ่งนี้ยังแทนที่ตัวคั่นแถวที่ท้ายบรรทัด

ฉันต้องการแทนที่ "\ r \ n" หรือ CRLF ทั้งหมดภายในตัวคั่นข้อความใด ๆ ("") ด้วยช่องว่าง

ขอบคุณ

คำตอบ:


3

สิ่งนี้จะช่วย:

\n(?!")|\r(?!")|\r\n(?!")

สนใจที่จะขยายตัวเพื่อผลประโยชน์ของพวกเราบัฟนิพจน์ปกติหรือไม่?
Tog

ขอบคุณ @Maze Oslo; จะพบทั้ง "CrLf", "Lf" และ "Cr" ระหว่างตัวคั่นข้อความเครื่องหมายคำพูดคู่ ("") ฉันได้จับคู่กับการค้นหาและแทนที่ ใน find i แทรก reg-ex ด้านบนและแทนที่ช่องว่างด้วยการเปิด "Wrap around" และ "Regular Expression"
Raymond

3
สิ่งนี้ทำให้อักขระ EOL ที่เหลืออยู่ในรูปแบบ Unix / OSX คุณอาจต้องการใช้ยูทิลิตี้การแปลง EOL ในเมนูแก้ไขเพื่อสลับกลับไปเป็นรูปแบบ Windows เมื่อดำเนินการเสร็จ
Jason

ขอบคุณ @Jason ฉันใช้หา "\ s \ n (?!") "และแทนที่ด้วย" \ r \ n "
Raymond

2

คุณสามารถใช้การค้นหา regex ต่อไปนี้ - & amp; -replace-s:

  1. Search- & amp; -replace [CRLF] ภายใน "... " ด้วยพื้นที่สีขาวที่เรียบง่าย:

    หา: "([^"]*)\r\n([^"]*)"

    แทนที่: "$1 $2"

  2. หากจำเป็นให้ค้นหา - & amp; -replace <;> ด้วยตัวคั่นที่เหมาะสมพูด ,:

    หา: <;>

    แทนที่: ,


ตัวอย่าง:

การป้อนข้อมูล:

"2"<;>"1305767"<;>"MSCUFH613249 
 199PACKAGES"<;>""<;>"Y"

เอาท์พุท:

หลังจากขั้นตอนที่ 1:

"2"<;>"1305767"<;>"MSCUFH613249   199PACKAGES<;>""<;>"Y"

หลังจากขั้นตอนที่ 2:

"2","1305767","MSCUFH613249   199PACKAGES,"","Y"

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