วิธีแบ่งบรรทัดที่อักขระเฉพาะใน Notepad ++


104

ฉันมีไฟล์ข้อความที่มีข้อความเช่น:

['22APR2012 23:10', '23APR2012 07:10', 1, 3, 0], ['22APR2012 23:10', '23APR2012 07:20', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 
23:15', '23APR2012 06:40', 1, 3, 0], ['22APR2012 23:15', '23APR2012 06:40', 0, 1, 0], ['22APR2012 23:15', '23APR2012 07:00', 1, 3, 0], ['22APR2012 23:15', '23APR2012 
07:00', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 0, 1, 0], ['22APR2012 23:20', '23APR2012 09:35', 1, 3, 0], ['22APR2012 23:20', '23APR2012 10:10', 1, 3, 0], 
['22APR2012 23:25', '23APR2012 05:35', 1, 3, 0], 

ฉันต้องการให้เส้นแบ่งที่],อักขระ:

['22APR2012 19:30', '23APR2012 00:25', 0, 1, 0], 
['22APR2012 19:35', '23APR2012 01:45', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 1, 3, 0],
['22APR2012 19:50', '23APR2012 05:25', 0, 1, 0],
['22APR2012 19:55', '23APR2012 06:25', 1, 3, 0],

มีวิธีทำใน Notepad ++ หรือโปรแกรมแก้ไขอื่น ๆ หรือไม่?


2
คำถามที่ซ้ำกันของ Super user: superuser.com/questions/34451/…
xQbert

1
คุณสามารถบอกวิธีการทำเช่นนี้ถ้าผมต้องการที่จะทำลายมันด้วย;? วิธีแก้ปัญหา]ไม่ได้ผลสำหรับฉัน
CodyBugstein

ในโซลูชันที่ยอมรับเพียงแค่แทนที่ ']' ด้วย ';'
Aris

คำตอบ:


182
  1. คลิก Ctrl + h หรือ Search -> แทนที่ที่เมนูด้านบน
  2. ภายใต้กลุ่มโหมดการค้นหาเลือกนิพจน์ทั่วไป
  3. ในช่องค้นหาข้อความให้พิมพ์ ],\s*
  4. ในฟิลด์แทนที่ด้วยข้อความพิมพ์ ],\n
  5. คลิกแทนที่ทั้งหมด

12
เพื่อให้สิ่งนี้ทำงานใน Notepad ++ เวอร์ชัน 6.7.8.2 ฉันต้องใช้โหมดการค้นหาแบบขยายแทนนิพจน์ทั่วไป
AJefferiss

4
ฉันต้องใช้ Extended ด้วยอย่างไรก็ตามสำหรับการแบ่งบรรทัดเดียว\nนั้นจำเป็นเท่านั้น
jarmerson

16

สมมติว่า],เป็นตัวละครที่เราต้องการทำลาย

  1. เปิด notePad++
  2. เปิดFind windowCtrl + F
  3. เปลี่ยนเป็นReplaceแท็บ
  4. เลือกที่Search ModeจะExtended
  5. พิมพ์],ในFind Whatช่อง
  6. พิมพ์\nในReplace withช่อง
  7. ตี Replace All
  8. บูม

5
6. พิมพ์\r\nในReplace withฟิลด์
บ๊อบสไตน์

หากต้องการดูใน Windows (เช่น Notepad) เราต้องการ \ r \ n มิฉะนั้น \ n จะทำงานบนแพลตฟอร์มอื่น ๆ (ควรทำลายเส้นแบ่งและดำเนินการต่อด้านล่าง)
Salvador Valencia

8

หากข้อความมี\ r \ nที่ต้องแปลงเป็นบรรทัดใหม่ให้ใช้โหมด "Extended" หรือ "Regular expression" และหลีกเลี่ยงอักขระแบ็กสแลชใน "Find what":

ค้นหาอะไร: \\ r \\ n

แทนที่ด้วย: \ r \ n


6

ลองดูวิธีนี้ มันได้ผลสำหรับฉัน

  1. เปิด Notepad ++ จากนั้นคัดลอกเนื้อหาของคุณ
  2. กด ctrl + h
  3. ค้นหาสิ่งที่ควรเป็น(ลูกน้ำ)หรืออักขระใด ๆ ที่คุณต้องการแทนที่
  4. แทนที่ด้วยควรเป็น\ n
  5. เลือกโหมดค้นหา -> ขยาย (\ n, \ r, \ t, \ 0)
  6. จากนั้นคลิกที่แทนที่ทั้งหมด

2

ฉันไม่รู้ว่ามันจะทำงานโดยอัตโนมัติได้อย่างไร แต่คุณสามารถคัดลอก "]," ร่วมกับบรรทัดใหม่แล้วใช้ฟังก์ชันแทนที่


2

หากคุณต้องการรับสตริงที่คั่นด้วยเครื่องหมายจุลภาคลงในคอลัมน์ด้วย CR LF คุณจะไม่สามารถทำได้ใน Notepad ++ โดยสมมติว่าคุณไม่ต้องการเขียนโค้ดคุณสามารถจัดการได้ใน Microsoft Excel

หากคุณคัดลอกสตริงของคุณไปยังตำแหน่ง B1:

A2 =LEFT(B1,FIND(",",B1)-1)
B2 =MID(B1,FIND(",",B1)+1,10000)

เลือก A2 และ B2 คัดลอกรหัสไปยังเซลล์ต่อเนื่อง (โดยการลาก):

A3 =LEFT(B2,FIND(",",B2)-1)
B3 =MID(B2,FIND(",",B2)+1,10000)

เมื่อคุณได้รับ #VALUE! ในเซลล์สุดท้ายของคอลัมน์ A แทนที่ด้วยค่า B ของแถวก่อนหน้า

ในตอนท้ายคอลัมน์ A ของคุณจะมีข้อความที่ต้องการ คัดลอกและวางได้ทุกที่ที่คุณต้องการ


1
ทางออกที่สร้างสรรค์มาก!
diego nunes

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