เลือกส่วนต่าง ๆ ของบรรทัด


0

ฉันใหม่เพื่อ regexes และมีไฟล์ที่มีลักษณะเช่นนี้:

|60|493,93|1,6500|
|60|95,72|1,6500|
|60|43,88|1,6500|
|60|972,46|1,6500|

ฉันใช้ regex (\|60|.*)(1,65) และฉันสามารถค้นหาบรรทัดทั้งหมดที่มีข้อมูลที่ฉันต้องการเปลี่ยนแปลง

ฉันจะทำการแทนที่เมื่อพบ Notepad ++ ได้อย่างไร (\|60|.*)(1,65), 60 ควรถูกแทนที่ด้วย 50:

|50|493,93|1,6500|
|50|95,72|1,6500|
|50|43,88|1,6500|
|50|972,46|1,6500|

PS: นี่คือตัวอย่างของสายเต็ม:

|C170|002|34067||44,14000|KG|493,93|0|0|020|1102||288,11|12,00|34,57|0|0|0|0|||0|0|0|60|493,93|1,6500|||8,15|60|493,93|7,6000|||37,54||

คำตอบ:


2

ฉันคิดว่านี่คือสิ่งที่คุณต้องการ:

หาอะไร: ^(.*)\|60\|(.*1,65.*)

แทนที่ด้วย: \1|50|\2


ส่วนที่ฉันวางเป็นเพียงผลลัพธ์ของ (\ | 60 |. *) (1,65) บรรทัดเต็มอยู่ท้ายโพสต์ (ฉันแก้ไข)

1
เพียงแค่ลบ ^ จากด้านหน้าของ regex และควรทำงานอย่างถูกต้อง
Andrew Clark

อัปเดตคำตอบของฉัน มันน่าเกลียด.
Sean Bright

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