คุณสามารถใช้นิพจน์ทั่วไปเพื่อลบคำที่ซ้ำกันติดกันในบรรทัด แต่ฉันไม่คิดว่าเป็นไปได้ที่จะลบคำที่ซ้ำซึ่งไม่ต่อเนื่องกัน (เช่นdangerous, hazardous, dangerous
)
ใช้ regex นี้ในหน้าต่างแทนที่ใน Notepad ++ และอย่าลืมเลือก "นิพจน์ปกติ" เป็นตัวเลือกโหมดการค้นหาด้านล่าง:
regex นี้จะลบคำซ้ำทั้งหมดติดต่อกัน - ไม่ว่าจะเป็น 2 คำซ้ำหรือ 10 \b(\w+)(?:,\s+\1\b)+
คำซ้ำติดต่อกัน:
regex ที่ไม่ใช่เครื่องหมายจุลภาคที่แน่นอนจะเป็น: \b(\w+)(?:\s+\1\b)+
(อาจเป็นประโยชน์สำหรับผู้ใช้รายอื่น)
หากคุณต้องการ regex เฉพาะเพียงสองคำที่ซ้ำกัน (คู่) ให้ใช้ regex (\b\w+\b)\W+\1
นี้:
วาง regex นี้ในการแทนที่ด้วยกล่องเก็บหนึ่งเกิดขึ้นของคำว่า ${1}
(มิฉะนั้นคำซ้ำทั้งหมดจะถูกลบออก):
นิพจน์ทั่วไปเหล่านี้จะแก้ไขสถานการณ์เช่นเดียวกับที่คุณอธิบายไว้ในคำถามของคุณเป็นตัวอย่าง regex แรกจะทำงานได้กับทุกคำที่ซ้ำกัน (เช่นdangerous, dangerous, dangerous, dangerous, hazardous
) ในขณะที่รุ่นที่สองจะใช้ได้กับคำที่ซ้ำกันสองคำเท่านั้น (เช่นdangerous, dangerous, hazardous
)
หมายเหตุ:การแสดงออกปกติจะนำไปใช้กับรูปแบบที่อธิบายไว้ในคำถามที่มีความหมายว่ารูปแบบเช่นtwo words, two words, anotherword
, two-words, two-words, anotherword
, three words expression, three words expression, anotherword
จะไม่เปลี่ยนแปลงเพราะ regex จะไม่นำไปใช้กับพวกเขา
dangerous,hazardous,dangerous,perilous
อะไร ในคำอื่น ๆ คำที่ซ้ำกันอยู่ติดกันหรือไม่