คุณสามารถใช้นิพจน์ทั่วไปเพื่อลบคำที่ซ้ำกันติดกันในบรรทัด แต่ฉันไม่คิดว่าเป็นไปได้ที่จะลบคำที่ซ้ำซึ่งไม่ต่อเนื่องกัน (เช่น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อะไร ในคำอื่น ๆ คำที่ซ้ำกันอยู่ติดกันหรือไม่