PDA

View Full Version : سوال: replace کردن تمام کاراکتر ها جز اعداد



niksalehi
جمعه 08 دی 1391, 12:34 عصر
سلام، چطوری میشه همه ی کاراکتر ها رو توی تکستباکس replace کرد جز اعداد؟
یعنی تمام کاراکتر ها، چه انگلیسی چه فارسی یا "" جایگزین بشه ( پاک بشه)

niksalehi
جمعه 08 دی 1391, 12:58 عصر
نظر ناقص خودم اینه که کاراکتر هایی که به غیر از عدد هستن یعنی a-z هستن رو بزارم توی یه لیستباکس و بعدش :

Private Sub Command1_Click()
Dim a
For a = 0 To List1.ListCount
Text1 = Replace(Text1, List1.List(a), "")
Next a
End Sub

vbhamed
شنبه 09 دی 1391, 00:52 صبح
سلام

Dim i%, s1$, s2$, a

s1 = Text1

For i = 1 To Len(s1)
a = Asc(Mid$(s1, i, 1))
If a >= 48 And a <= 57 Then s2 = s2 & Mid$(s1, i, 1)
Next

Text1 = s2

niksalehi
شنبه 09 دی 1391, 10:17 صبح
ممنون بابت کد vbhamed عزیز!
اگه امکان داره یه توضیح درباره کد بدین ممنون میشم

SlowCode
شنبه 09 دی 1391, 10:42 صبح
با اجازه آقا حامد من توضیح میدم.
توی یه حلقه از 1 تا تعداد کاراکتر متنمون کد اسکی هر کاراکتر رو داخل متغیر a ذخیره میکنیم بعد توی شرط میگیم اگه بین 48 و 57 بود به متغیرs2 اضافش کن.
کد اسکی عدد صفر 48 و عدد نه 57 هست و فقط کاراکترهایی که کد اسکیشون بین این اعداد هست عدد هستند.