الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ازالة التشابة بين ملفين

بدأه akram في 16 مايو 2010 · 6 رد · 1,910 مشاهدة · في لغة Perl
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم....

في البدايه احب ان انوه ان سؤالي هدا ليس واجب اريد حله بل انا اعمل على تحليل نوع من البيانات وليس لي في البرمجة

بلغة اليرل...ولكن علمت انهى اسرع واسهل وسيلة.

المهم...لدي ملفين من نوع تكست او اكس ام ال يحتويان على عدد كبير من الكلمات المفتاحية keywords ولريد ان ازيل الكلمات المتشابهه في كلى الملفين

الملفان مرفقان..

ارجوا المساعدة من من لديه خبرة

overlapping بمعنى عند دمج الملفين لن يكون هناك تكوار في الكلمات.data-qPubmed-0Tags.txtdata-qPubmed-2000.txt

زورو موقعنا

www.algabal.com

#2

لا أعلم هل هناك طريقة أسهل وأسرع من هذه أم لا, لكن الحل المنطقي هو القيام بكتابة الملفين في ملف واحد

ثم البحث: نأخذ أول كلمة وتبحث هل مكررة أم لا وإزالة التكرار, وهكذا...

A man who wants to lead the orchestra must turn his back on the crowd

#3

اخ X0Ali شكرا على الاقتراح..وفكرة جيدة ولكن هل تتكرم وتساعد على عمل دلك.

زورو موقعنا

www.algabal.com

#4

للأسف يا أخي لا أعرف الكثير في البيرل ,لذلك فقط يمكنني أن أعطيك الفكرة العامة وتحولها أنت إلى كود :Dهل حضرتك متمكن من أي لغة برمجة؟

تم تعديل هذه المشاركة بواسطة 0xAli في 16 مايو 2010 في 17:09

A man who wants to lead the orchestra must turn his back on the crowd

#5

للاسف اخي كان لدي خلفية عن الجافا ولكن للاسف نسيت كل ما يتعلق بها لكوني اشتغلت في مجال اخر.

اخي ليس من الضرورة استخدام بيرل ادا كان في الامكان اي لغة اخرى كالجافا او البيثون.

زورو موقعنا

www.algabal.com

#6

هل تريد الطريقة؟ أم تريد النتيجة ؟

هذا الكود بجافا يقوم بالمطلوب (يمكنك تحميل كود البرنامج كاملاً من المرفقات):

........
    File file1, file2, output;
    BufferedReader br1, br2;
    BufferedWriter bw;
    ArrayList<String> al = new ArrayList<String>();
........
        try {
            br1 = new BufferedReader(new FileReader(file1));
            br2 = new BufferedReader(new FileReader(file2));
            bw = new BufferedWriter(new FileWriter(output));

            String s1, s2;

            s1 = br1.readLine();
            while (s1 != null) {
                al.add(s1);
                s1 = br1.readLine();
            }

            s2 = br2.readLine();
            while (s2 != null) {
                al.add(s2);
                s2 = br2.readLine();
            }

            boolean found;
            for (int i = 0; i < al.size(); i++) {
                found = false;
                String s = al.get(i);
                for (int j = i + 1; j < al.size(); j++) {
                    if (al.get(j).equals(s)) {
                        found = true;
                        al.remove(j);
                        j--;
                    }
                }
            }

            for (String s : al) {
                bw.write(s);
                bw.newLine();
            }
            bw.close();
            String msg = "لقد تم توليد الملف بنجاح";
            String title = "مبروك !";
            JOptionPane.showMessageDialog(null, msg, title, JOptionPane.INFORMATION_MESSAGE);
        } catch (FileNotFoundException ex1) {
        } catch (IOException ex2) {
        }

UTG.java

تم تعديل هذه المشاركة بواسطة Speed_Of_Light في 23 مايو 2010 في 17:31

#7

اخي الكريم Speed_of_Light

شكرا جزيلا ورحم الله والديك....ساجرب الكود وارجع اليك.

زورو موقعنا

www.algabal.com

مواضيع مشابهة