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

مشاهدة النسخة كاملة : فصل كل حرف على حدى


ثامر أبو بلقيس
02-05-2014, 10:51 PM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته

سنطرح تساؤلا مباشرا لدي جملة أو كلمة و لتكن مثلا :
abc4web
أريد أن أقوم بوضع كود حيث يتم وضع بين الحرف و الاخر فاصلة
a,b,c,4,w,e,b
و يكون كود عام يعالج كل الوضعيات و ليس حسب وضعية المثال المطروح فقط .

تقديري :abc_138:

عبود عبود
03-05-2014, 12:29 AM
وعليكم السلام ورحمة الله وبركاته

تفضــــــــــل أخى :

ضع الكود التالى فى زر وضع إينبوت كوسيلة عرض لناتج العملية :

--
function TableDelimitedToString(Table, Delimiter)
strReturn = "";
for i, item in pairs(Table) do
strReturn = strReturn..item..Delimiter;
end
strReturn = String.TrimRight(strReturn,Delimiter);
return strReturn;
end
---------------
_string = "abc4web@abood";
_leng = String.Length(_string);
abood = {};
for i=1, _leng do
abood[i] = String.Left(_string, 1);
if i < _leng then
_string = String.Right(_string, String.Length(_string) - 1);
end
end
s = TableDelimitedToString(abood, ",");
Input.SetText("Input1", s);

:abc_152:

ثامر أبو بلقيس
03-05-2014, 12:37 AM
جزيل الشكر أستاذي الكريم أنهيت للتو محاولة
وإليك بالناتج قصد تبادل الأفكار :
x="abc4web@abood"
p=""
for i =1,String.Length(x) do
t = String.Mid(x, i, 1);
p=p..t..","
end
Dialog.Message("Notice",String.Mid(p, 1, String.Length(p)-1));

ملاحظة هامة : الأمر String.Mid عندما نحدد قيمة البداية و النهاية هي نفسها تحديد قيمة البداية إلى غاية 1
لذلك أستغليته في الكود للوصول

عبود عبود
03-05-2014, 12:41 AM
تمام :abc_152:

ثامر أبو بلقيس
03-05-2014, 12:44 AM
بارك الله فيك منكم استفدنا و سنستفيد إن شاء الله

يمكن اضافة هذا السطر بعد الأول لاهمال المسافات
في المحاولة السابقة :
x=string.gsub(x, "%s", "")

النصل القاطع
03-05-2014, 01:25 AM
بارك الله فيك منكم استفدنا و سنستفيد إن شاء الله

يمكن اضافة هذا السطر بعد الأول لاهمال المسافات
في المحاولة السابقة :
x=string.gsub(x, "%s", "")

الدالة القياسية
string.replace
أيضا تفى بالغرض

ثامر أبو بلقيس
03-05-2014, 01:30 AM
بارك الله فيك أستاذ خالد ماذكرته أحسن :

التطبيق :


x="abc4web @ abood"
x = String.Replace(x, " ", "", false);

p=""
for i =1,String.Length(x) do
t = String.Mid(x, i, 1);
p=p..t..","
end
Dialog.Message("Notice",String.Mid(p, 1, String.Length(p)-1));