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

تقطيع النص إلى كلمات

مغلق
بدأه الغنام في 7 يونيو 2005 · 8 رد · 1,559 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

تحية طيبة وبعد :

لدي ملف نصي يحتوي على جملة وأريد مثلا ترجمة هذة الجملة ، بحيث يتم قراءة هذا الملف النصي ( جملة مكونة من

عدد من الكلمات ) ومن ثم تقطيع الجملة إلى كلمات وايجاد مايقابلها حيث يكون لدي قاعدة بيانات مخزن فيها ترجمة كل

كلمة ، وبعد ايجاد مايقابل كل الكلمات يتم تخزين الترجمة أو الجملة الجديدة في ملف نصي آخر ...

أرجو أن تكون الفكرة واضحة .. ومن لديه فكرة عن الموضوع ياليت يساعدني .

ولكم جزيل الشكر ....

تحياتي ،،

#2

استخدم الاجراء Slpit و اذا اردت مثال ابحث في MSDN او انظر هنا:

http://pscode.com/vb/scripts/ShowCode.asp?...d=6298&lngWId=1

http://pscode.com/vb/scripts/ShowCode.asp?...=29350&lngWId=1

اذا اراد الله بعبد خيراً فقهه في دينه

((إياكم والغلو في الدين فإنما هلك من كان قبلكم بالغلو في الدين )).

( إن هذا الدين يسر ولن يشاد هذا الدين إلا غلبه فأوغلوا فيه برفق )

( هلك المتنطعون ، هلك المتنطعون ، هلك المتنطعون )

<span style='font-size:14pt;line-height:100%'>طريقة سريعة لحفظ كتاب الله العزيز</span>

<span style='font-size:14pt;line-height:100%'>تعرف على عباقرة الكذب</span>

#3

السلام عليكم ورحمة الله

تحية طيبة وبعد :

أشكرك أخي الكريم amervb على الرد ولكن الصورة لم تتضح بعد ، خصوصا كيفية القراءة من الملف أو الكتابة إليه

أما بالنسبة للأمثلة التي أشرت إليها لاتفي بالغرض المطلوب لأنك لابد أن تحدد فيها طول الكلمة التي سيقتطعها من الجملة

والهدف الحقيقي هو استقطاع الكلمة عندما يصل إلى فراغ في الجملة ثم تخزينها - لكي يتمكن بعد ذلك من إحضار مايقابلها

في الجدول الموجود بقاعدة البيانات - بعد ذلك ينتقل للكلمة الثانية عندما يصل إلى فراغ آخر وهكذا .......

أرجو أن تكون وضحت الفكرة ....

تحيــــــــــــــــــــــــــــــــــــــــاتي ،،،،،

#4

:wacko: :wacko: :wacko: :wacko: ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

#5
الغنام كتب:
أما بالنسبة للأمثلة التي أشرت إليها لاتفي بالغرض المطلوب لأنك لابد أن تحدد فيها طول الكلمة التي سيقتطعها من الجملة

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

كلامك غيير صحيح عزيز .. الدالة Split لا تحتاج إلى تحديد طول الكلمة التي تريد أقتطاعها ...

أنظر إلى تفصيل الدالة :

Split(Expression As String, [Delimiter], [Limit As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare])

:s :s :s :s :s :s :s :s

المتغيير الأول هو الجملة التي تريد تقسيمها ...

المتغيير الثاني Delimiter يتوقع منك متغير حرفي يحدد الفاصل بين الكلمات ..

بقية المتغيرات غير مهمه لك هنا ..

فإستعمال الذي تحتاجه هو :

Split(Statments," ")

تحياتي ...

#6

مشكور أخي العريق على الرد ،،

لكن كيف استطيع مقارنة الكلمات التي تم استقطاعها مع مايقابلها في قاعدة البيانات ؟؟؟؟ هل احتاج لعملية تخزين هذه الكلمات

في مصفوفة مثلا أم ماذا ،، وإذا كان كلامي صحيح فكيف يمكن عمل ذلك ؟؟؟

ولك مني جزيل الشكر ....

تحياتي ،،،،،،،،،،،،،،،،،،،

#7

متغير حرفي يحدد الفاصل بين الكلمات

هنا المشكلة

فعلى اعتبار انك ستقسم الاسم الرباعي مثلا للاسماء الموجودة في قاعدة البيانات

وحددت المتغير على انه space

فالمشكلة في اللغة العربية اننا نستخدم space

في الاسم الواحد ايضاً

مثل فتح الله وايضا أم السعد

وليس فقط بين الاسم الاول والثاني

فهنا المشكلة مع انه في اللغة الانجليزية يندر استخدام space

في الاسم الواحد

#8
اقتباس
فتح الله وايضا أم السعد

مشكلة صحيح

لكن على أساس أن الكلمات التي ستترجم غير مركبة

إستخدم

arr = Split(String, " ")

ستقوم الدالة بتخزين الكلمات في المصفوفة arr

العنصر الأول لها

arr(0)

والعنصر الأخير لها

arr(UBound(arr))

وبالتوفيق

#9

الأخ / moh_dow

والأخ / بلال حمدي

اشكركم جزيل الشكر على تعاونكم معي ،، وسأقوم بتجربة ذلك والرد في أقرب فرصة إن شاء الله ،،،

تحيـــــــــــــــــــــــــاتي ،،، :rolleyes:

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…