วิธีลบการขึ้นบรรทัดใหม่ (หรือการขึ้นบรรทัดใหม่) จากบางส่วนของบล็อกข้อความเท่านั้น


6

เมื่อใดก็ตามที่ฉันคัดลอกข้อความที่จัดรูปแบบจากไฟล์ PDF ซึ่งจัดรูปแบบเพื่อให้มีการขึ้นบรรทัดใหม่ (หรือการขึ้นบรรทัดใหม่) ฉันต้องหาวิธีที่จะลบการขึ้นบรรทัดใหม่โดยไม่ลบรูปแบบย่อหน้า

ในการทำเช่นนี้ฉันต้องใช้ RegEx (นิพจน์ปกติ) เพื่อลบตัวแบ่งบรรทัดที่ไม่ได้นำหน้าด้วยจุด

ตัวอย่างเช่นหากสตริงของข้อความมีการแบ่งบรรทัดหลังจากช่วงเวลานั่นคือการแบ่งบรรทัดที่ถูกต้องตามกฎหมายซึ่งจะเริ่มย่อหน้าใหม่เสมอ หากสตริงข้อความมีเส้นแบ่งกลางคำหรือหลังคำที่ไม่มีระยะเวลามันเป็นเพียงส่วนหนึ่งของการจัดรูปแบบที่ไม่ดีที่ฉันต้องกำจัด

ปัญหาของฉันคือฉันไม่ทราบวิธีการใช้ RegEx เพื่อให้ลบเฉพาะแท็ก ^ p ใน word หรือ CRLF หรือการขึ้นบรรทัดใหม่ในรูปแบบใด ๆ ภายใต้เงื่อนไขที่เว้นไว้หลังช่วงเวลา


โปรดพูดถึงระบบปฏิบัติการของคุณ ไม่ว่าจะเป็นหน้าต่างหรืออะไรก็ตามนี่เป็นเรื่องเล็กน้อย ฉันเอาคุณกำลังใช้ windows? คุณใช้โปรแกรม RegEx อะไร เราจำเป็นต้องทราบรายละเอียดเพิ่มเติมเพื่อให้ RegEx ที่ใช้งานได้
terdon

คุณต้องการที่จะลบการขึ้นบรรทัดใหม่หรือไม่? ฉันสงสัยว่าคุณต้องการแทนที่ด้วยช่องว่าง และสิ่งที่เกี่ยวกับการแบ่งบรรทัดหลังจาก ? หรือ !? หรือ .), ?), หรือ !)?
Scott

คำตอบ:


3

โซลูชันสำหรับ MS Word:

  1. เปิดการค้นหา & amp; แทนที่ ( Ctrl + H ) และตรวจสอบตัวเลือก "ใช้สัญลักษณ์แทน" หากคุณไม่เห็นตัวเลือก "ใช้อักขระตัวแทน" คลิก "เพิ่มเติม"
  2. คัดลอกสิ่งต่อไปนี้ลงในกล่อง "ค้นหาสิ่งที่": ([!.])^0013
  3. คัดลอกสิ่งต่อไปนี้ลงในกล่อง "แทนที่อะไร": \1
  4. คลิก "แทนที่ทั้งหมด"

คำอธิบาย:

  • [!.] หมายถึง "ค้นหาทุกสัญลักษณ์ยกเว้นจุด"
  • ^0013 เป็นเครื่องหมายย่อหน้าดังนั้นใน "ค้นหาสิ่งที่" เราจะพบทุกสัญลักษณ์ที่ไม่ใช่จุดตามด้วยเครื่องหมายวรรค
  • วงเล็บหมายความว่าเราจะวางสัญลักษณ์ที่ไม่ใช่จุดในหน่วยความจำเพื่อใช้ในภายหลัง
  • \ 1 แทนที่สัญลักษณ์ที่เราจดจำไว้ในตำแหน่งที่เราพบ

สังเกตว่า ^0013 ไม่อยู่ในวงเล็บดังนั้นข้อความสุดท้ายจะไม่มีเครื่องหมายย่อหน้า


0

ใน Word พยายามค้นหาและแทนที่ตัวแบ่งบรรทัดด้วยตนเอง ^l ด้วยเครื่องหมายวรรค ^p.


มันมาจาก pdf ตัวแบ่งบรรทัดทั้งหมดเป็น ^ p
Luke Allen

ตกลง. ลองแทนที่ ^ p ด้วยปุ่ม & lt; space & gt; สิ่งนี้จะแก้ไขเครื่องหมายย่อหน้า แต่ปัญหาเดียวที่คุณจะพบว่าย่อหน้าทั้งหมดจะเป็นเพียงย่อหน้าเดียว
hsawires

ใช่นั่นคือสิ่งที่คำถามที่ฉันโพสต์กำลังพยายามแก้ไขฉันรู้อยู่แล้วว่าจะแทนที่ ^ p ด้วย & lt; space & gt;, จำเป็นต้องแทนที่เท่านั้น ^ p ที่ไม่มี & lt; period & gt; ก่อนหน้านั้นทำให้ย่อหน้าต่างๆคงไว้ แต่ไม่ใช่การจัดรูปแบบแบ่ง
Luke Allen

ฉันพยายามบันทึก PDF ใน acrobat ลงในเอกสาร word และทำงานได้ดียกเว้นว่าคุณอาจทำงานพิเศษเพื่อล้างไฟล์ doc จากข้อความที่ไม่ต้องการ ซอฟต์แวร์อื่น ๆ อาจช่วยคุณแปลง PDF2DOC
hsawires

0

เนื่องจากประโยคสามารถลงท้ายด้วยเครื่องหมายวรรคตอนได้มากกว่าช่วงเวลาที่ฉันอัปเดต คำตอบ hsawires ไปที่:

  1. ค้นหาทุกสัญลักษณ์ยกเว้นจุด, เครื่องหมายคำถาม, เครื่องหมายอัศเจรีย์, เครื่องหมายคำพูดหรือโคลอน
  2. นอกจากนี้ในบางกรณีคุณจะต้องการเพิ่มช่องว่างหลังจาก \1 ในช่อง "แทนที่สิ่งที่" เพื่อไม่ให้รวมคำสุดท้ายในหนึ่งบรรทัดกับคำแรกในบรรทัดถัดไป

โซลูชันสำหรับ MS Word:

  1. เปิดการค้นหา & amp; แทนที่ ( Ctrl + H ) และตรวจสอบตัวเลือก“ ใช้สัญลักษณ์แทน”
  2. หากคุณไม่เห็นตัวเลือก“ ใช้อักขระตัวแทน” คลิก“ เพิ่มเติม”
  3. คัดลอกสิ่งต่อไปนี้ลงในกล่อง“ ค้นหาสิ่งที่”: ([!.\?\!"':])^0013
  4. คัดลอกสิ่งต่อไปนี้ลงในกล่อง“ แทนที่อะไร”: \1
  5. คลิก“ แทนที่ทั้งหมด”

คำอธิบาย:

[!.\?\!"':] หมายถึง“ ค้นหาทุกสัญลักษณ์ยกเว้นจุดเครื่องหมายคำถามเครื่องหมายอัศเจรีย์เครื่องหมายปิดหรือเครื่องหมายโคลอน” - ^0013 เป็นเครื่องหมายย่อหน้าดังนั้นใน "ค้นหาว่า" เราจะพบทุกสัญลักษณ์ที่ไม่ใช่จุดตามด้วยเครื่องหมายวรรค - วงเล็บหมายความว่าเราจะวางสัญลักษณ์ที่ไม่ใช่จุดในหน่วยความจำเพื่อใช้ในภายหลัง - \1 แทนที่สัญลักษณ์ที่เราจดจำไว้ในตำแหน่งที่เราพบ

สังเกตว่า ^0013 ไม่อยู่ในวงเล็บดังนั้นข้อความสุดท้ายจะไม่มีเครื่องหมายย่อหน้า


0

วิธีที่ง่ายกว่ามากในการสร้าง / แก้ไขบล็อคที่อยู่ก่อนที่จะตัดและวางลงในอีเมลหรือเอกสารอื่น ๆ คือการประกาศตารางแถว 3/4 และพิมพ์ข้อมูลที่อยู่ลงในแต่ละแถว จากนั้นกำจัดเส้น

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