Notepad ++: วิธีลบข้อความระหว่างสองสายที่ระบุโดยใช้ Regex


-2

ฉันมีบรรทัดของข้อมูลต่อไปนี้:

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 + 0.8X15 + 0x16 + 0X17 + 0x18

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 + 0.89404X15 + 0x16 + 0X17 + 0x18

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 + 0.93532X15 + 0x16 + 0X17 + 0x18

ฉันต้องการลบสตริง X15ก่อนหน้านี้ +และตัวอักษรใด ๆ ที่อยู่ระหว่างการใช้ regex

ตัวอย่างเช่นการแทนที่ regex ควรกลับดังต่อไปนี้จากบรรทัดตัวอย่างของฉัน:

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 0x16 + + + 0X17 0x18

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 0x16 + + + 0X17 0x18

X1 + 0x2 + 0x3 + 0x4 + 0x5 + 0x6 + 0X7-0.25X8-0.25X9-0.25X10-0.25X11 + + 0X12 0X13 + 0x14 0x16 + + + 0X17 0x18

ใครช่วยกรุณาให้คำแนะนำและความคิดเกี่ยวกับเรื่องนี้?

ขอบคุณมาก.

คำตอบ:


2

ฉันไม่รู้ Notepad ++ แต่วิธีที่ฉันจะทำคือ:

แทนที่:

\+[^+]*X15

ด้วยไม่มีอะไร


ขอบคุณสำหรับคำตอบ ฉันพยายามใช้ แต่แสดงข้อผิดพลาดว่า "นิพจน์ทั่วไปไม่ถูกต้อง" ฉันค่อนข้างใหม่สำหรับการแสดงออกปกติ
Naren

1
ฉันคิดว่าฉันคิดออกว่า เนื่องจาก + เป็นคำหลักนิพจน์ทั่วไปฉันจะต้องให้สตริงการค้นหาเป็น \ + [^ \ +] * X15 ขอบคุณมากสำหรับความช่วยเหลือ ฉันรู้สึกทราบซึ้ง
Naren

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

@ Naren คุณไม่จำเป็นต้องใส่แบ็กสแลชไว้ในคลาสที่ถูกทำให้ยุ่งเหยิงนั่นคือมันใช้ได้อย่างสมบูรณ์แบบ \+[^+]*X15.
Jerry

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