المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : كيف أستخرج الأسطر " الرقمية " من ملف


ثامر أبو بلقيس
24-01-2015, 04:11 PM
السلام عليكم ورحمة الله وبركاته

لدي ملف نصي txt مكتوب فيه عدة أسطر
هذه الاسطر متنوعة و غير مرتبة
مرة تجد كلمات في السطر
مرة تجد مزيج بين مفردات و ارقام في سطر آخر
مرة تجد ارقام فقط ....

--- ما الكود المناسب لأعلن عن الاسطر التي تحتوى على ارقاما فقط
و اهمال الأسطر الأخرى
شكرا :abc_138:

azizsoft
24-01-2015, 04:29 PM
بسم الله الرحمن الرحيم

نتابع معك ان شاء الله :abc_022:

ثامر أبو بلقيس
24-01-2015, 04:46 PM
مرور عطر أستاذ عزيز و حتى نعطي للطلب مسارا بحثي
و قتلا للرتابة

---- يسمح للمحترفين القادمين إن شاء الله ---
باستعمال دوال الاوتوبلاي للحصول على الجواب بكل سهولة
و تسهيلا لا يوجد سطر يحمل القيمة المعدومة أي 0

و لتنويع الحلول :

---- بالنسبة للمحترفين غير مسموح بإستعمال دوال البرنامج
ماعدا ديالوج اظهار النتائج أو ما تعلق بتعليمات التكرار اذ لزم الامر
----------------------------------------------------------------
نلتقي بود :abc_138:

فرح صالحي
24-01-2015, 05:12 PM
السلام عليكم ورحمة الله وبركاته
مساهمة من نوع (ذكر فإن الدكرى تنفع المؤمنين)
-- Recherche la position de "an" et "ou"
print(string.find("banane", "an")) --> 2 3

print(string.find("banane", "ou")) --> nil

local s = "une petite phrase"
-- Recherche un mot commencent par…
print(FindPattern(s, "p…")) --> petite

print(FindPattern(s, "p…", 6)) --> phrase

-- Recherche une lettre
print(FindPattern(s, "%a")) --> u

-- Recherche tout ce qui est lettre
print(FindPattern(s, "%a+")) --> une

local s = "nous sommes en 2012"
-- Recherche un chiffre
print(FindPattern(s, "%d")) --> 2

-- Recherche tout ce qui est chiffre
print(FindPattern(s, "%d+")) --> 2012

-- Recherche une lettre CAPITALE
print(FindPattern("mAjuscUle", "%u")) --> A

-- Recherche une lettre minuscule
print(FindPattern("MInUScUle", "%l")) --> n

-- Recherche une minuscule suivie d'une capitale
print(FindPattern("MInUScUle", "%l%u")) --> nU
ما تضحكش علي راني بوجادي
:abc_023:

ثامر أبو بلقيس
24-01-2015, 05:23 PM
أخي صالحي لست " بوجادي " :abc_138:
ما أرسلت من اكواد صحيح لا علاقة لكنها رائعة :abc_138:

ثامر أبو بلقيس
24-01-2015, 05:37 PM
سأشرح لك الأكواد التي كتبتها و كيف تستعملها
في الاوتوبلاي

ثامر أبو بلقيس
24-01-2015, 05:44 PM
لاحظ آخر سطر كتب هكذا
print(FindPattern("MInUScUle", "%l%u")) --> nU

هذا السطر يأتي لك بالحرف ذو القطع الصغير و الحرف الذي بجانبه ذو قطع كبير

لاحظ : الكلمة مصدر البحث : MInUScUle أين موقع أول حرف صغير وورائه آخر أكبر
سيكون nU ثم cU

نطبق في الاوتوبلاي الموافق لهذا :
for w in string.gmatch ("MInUScUle", "%l%u") do
Dialog.Message("Notice",w);
end
جرب ستحصل على النتائج

بنفس الطريقة جرب باقي التعليمات لتحصل على كل
النتائج ما عدا المعادليتن الاولى و الثانية تحسبا بطريقة أخرى

فهمتني :abc_138:

ثامر أبو بلقيس
24-01-2015, 06:20 PM
نرجع لبداية كود الاخ صالحي
نمسك هذا الجزء
local s = "une petite phrase"
-- Recherche un mot commencent par…
print(FindPattern(s, "p…")) --> petite

print(FindPattern(s, "p…", 6)) --> phrase

ما دوره التحكم في الاعلان عن الكلمة الاولى أو الثانية

البديل:
my_table = {};
x=1
s = "une petite phrase"
for w in string.gmatch (s, "%w+")do
Table.Insert(my_table, x, w);
x=x+1
end
Dialog.Message("Notice",my_table[3]);

هنا ساستدعي الكلمة الاخيرة phrase لذلك كتبت 3 في المساج
لو أردنا المفردة الاولى نكتب 1 الثانية نكتب2 و هكذا

ثامر أبو بلقيس
24-01-2015, 06:26 PM
نمسك الجزء هذا
-- Recherche une lettre
print(FindPattern(s, "%a")) --> u

-- Recherche tout ce qui est lettre
print(FindPattern(s, "%a+")) --> une


الاعلان %a سيعلن عن كل مفردات الجملة حرفا حرفا
s = "une petite phrase"
for w in string.gmatch (s, "%a")do
Dialog.Message("Notice",w);
end


اذا أضفنا العلامة + سنعلن عن المفردات كلمة كلمة

s = "une petite phrase"
for w in string.gmatch (s, "%a+")do
Dialog.Message("Notice",w);
end


ستظهر ثلاث مفردات بالتتابع في مثالنا

ثامر أبو بلقيس
24-01-2015, 06:31 PM
بنفس الطريقة الكتابة %d ستستخلص الارقام رقما رقما
اذا اضفنا + سيتم استخلاص العدد كاملا مثلا 2012 ليمر للعدد الثاني ان وجد
موفق:abc_138:

فرح صالحي
24-01-2015, 08:06 PM
السلام عليكم ورحمة الله وبركاته
بارك الله فيك اخي ثامر على الشرح الوافي
موفق بإذن الله .:abc_028:. لك مني أجمل تحية .

azizsoft
24-01-2015, 08:56 PM
بسم الله الرحمن الرحيم

الله يبارك فيك استاذ ثامر :abc_022:

ثامر أبو بلقيس
25-01-2015, 07:40 AM
شكرا أستاذ عزيز على المرور الطيب :abc_138:

ياسرهتهت
25-01-2015, 09:57 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

http://im58.gulfup.com/rl4krB.png
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_152::abc_152::abc_152:

ثامر أبو بلقيس
26-01-2015, 09:14 PM
شكرا أخي ياسر على المرور الطيب :abc_138:

ثامر أبو بلقيس
31-01-2015, 04:45 PM
السلام عليكم ورحمة الله وبركاته

لدي ملف نصي txt مكتوب فيه عدة أسطر
هذه الاسطر متنوعة و غير مرتبة
مرة تجد كلمات في السطر
مرة تجد مزيج بين مفردات و ارقام في سطر آخر
مرة تجد ارقام فقط ....

--- ما الكود المناسب لأعلن عن الاسطر التي تحتوى على ارقاما فقط
و اهمال الأسطر الأخرى
شكرا :abc_138:

وحتى لا يبق التساؤل بدون رد هذا أحد الحلول السهلة
اطلع و استفد :
c = TextFile.ReadToTable("AutoPlay\\Docs\\10.txt");
for y =1,#c do
x = String.ToNumber(c[y]);
if x-0 ~= 0 then
Dialog.Message("Notice", x);
end
end
----------------------------------------------------------------------------------
سنكتفي بهذا الحل غلقا للموضوع .
موفق :abc_138: