सवाल सॉर्ट किए बिना डुप्लिकेट लाइनों को हटा दें


क्या नोटपैड ++ में डुप्लिकेट पंक्तियों को निकालना संभव है, केवल एक पंक्ति की एक घटना को छोड़कर?

अगर मेरे पास ये रेखाएं हैं:
1
5
3
9


1
4
3
 

मैं चाहता हूं कि यह हो:
1
5
3
9


4
 
मैं इसे पहली डुप्लीकेट लाइन रखना चाहता हूं, और सॉर्टिंग के बिना अन्य सभी डुप्लिकेट लाइनों को हटा सकता हूं।

क्या मेरी कोई मदद कर सकता है?

सादर


4
2018-02-28 02:56


मूल


यदि आपके पास एक्सेल है, तो आप डेटा को एक्सेल में पेस्ट कर सकते हैं और एक्सेल में "डुप्लिकेट हटाएं" बटन का उपयोग कर सकते हैं। - David Dai


जवाब:


आवश्यकताएं रेगेक्स हैं जो:

  • लाइनों को सॉर्ट नहीं करता है (टेक्स्टएफएक्स को अयोग्य करता है)।
  • पहली घटना रखता है तथा बाद में हटा देता है डुप्लिकेट।

मुझे यह समस्या भी है। अब तक मुझे यह मिल गया है: ^(.*?)$\s+?^(?=.*^\1$)

  • यदि आप सक्षम करते हैं तो यह केवल नोटपैड ++ में काम करता है "." matches newline विकल्प।
  • यह पहले हटा देता है घटना और बाद में रखता है डुप्लिकेट।

मैं जावास्क्रिप्ट, नोटपैड ++, और विजुअलस्टूडियो को ढूंढने और प्रतिस्थापित करने के लिए एक महान (लेकिन बहुत धीमी) रेगेक्स का उपयोग करता हूं, लेकिन मैंने इसे खो दिया है। अगर मैं इसे समझ सकता हूं या इसे फिर से ढूंढ सकता हूं, तो मैं इसे अपडेट कर दूंगा।


3
2018-03-11 00:56



यह कुछ शक्तिशाली regex-fu है। मेरे लिए, यह केवल तभी काम करता था जब मैंने इसे अक्षम कर दिया "." matches newline विकल्प, लेकिन यह पूरी तरह से काम करता है। - pbarney