PDA

View Full Version : سوال: جایگزینی با شرط شباهت



علیرضا.ا
چهارشنبه 01 خرداد 1392, 22:10 عصر
میخوام اگه یه عبارت وارد شده ای شبیه عبارت تعریف شده برای برنامه بود,برنامه یه عبارت دیگه رو به نمایش بزاره.
یعنی:
هر وقت عبارت وارد شده توی text شبیه عبارتweb بودتوی لیبیل به جای web مقدار 2+web رو نشون بده
فقط یه نکته ای که هست اینه که دوتا عبارت web و web+2 توی دو تا فایل text کنار برنامه هستن
فک کنم با تابع replace و like باشه ولی چون تازه کارم,قاطی کردم:لبخند:
اگه ممکنه راهنمایی کنید.

matrix-program
چهارشنبه 01 خرداد 1392, 22:39 عصر
شبیه منظورت مساویه دیگه؟؟

علیرضا.ا
چهارشنبه 01 خرداد 1392, 22:45 عصر
منظورم اینه مثلا:
*=6
که یک نفر ممکنه a وارد کنه یکی b
مثلا اینجوری باشه کد:
*=6
اگه مقدار وارد شده شبیه این باشه-یعنی یه عبارتی برابر 6 باشه بعد:
m=2
این تقریبا اون چیزیه که میخوام-پست اول رو دوباره بخون

matrix-program
چهارشنبه 01 خرداد 1392, 23:05 عصر
برای این کار عملگر منطقی در نظر گرفته نشده تا اونجایی که من میدونم اما یه الگوریتم برای حل این مشکل درست کردم
نحوه ی کلی کار الگوریتمش این میشه
1-بین تمامی کاراکتر های تکست و لیبل فاصله بنداز(برای جدا سازی کاراکتر ها از هم) و این دو رو داخل دو متغیر بریز
2-بعد چک کن ببین که جایی هست که به ترتیب در هردو متغیر w e b اومده باشه
این الگوریتم هنوز پر از اشکاله می تونی خودت بشینی کاملش کنی نقطه ی ابهامی هم بود پ خ بده

vbhamed
پنج شنبه 02 خرداد 1392, 08:51 صبح
سلام
اين نمونه، فقط عبارت جايگزين بايد حتما سمت راست باشه
MsgBox "m=2" Like "m=*"
MsgBox "test@yahoo.com" Like "*@*.*"
MsgBox "a4b" Like "*#*"

اينم راهنماي VB

'Kind of match Pattern Match (returns True) No match (returns False)
'----------------------------------------------------------------------------------
'Multiple characters a*a aa, aBa, aBBBa aBC
' *ab* abc, ABB, Xab aZb, bac
'Special character a
a a*a aaa
'Multiple characters ab* abcdefg, abc cab, aab
'Single character a?a aaa, a3a, aBa aBBBa
'Single digit a#a a0a, a1a, a2a aaa, a10a
'Range of characters [a-z] f, p, j 2, &
'Outside a range [!a-z] 9, &, % b, a
'Not a digit [!0-9] A, a, &, ~ 0, 1, 9
'Combined a[!b-m]# An9, az0, a99 abc, aj0

علیرضا.ا
پنج شنبه 02 خرداد 1392, 22:05 عصر
میشه در همین تابع like دو فایل txt رو جایگزین کرد؟
مثلا اگه فایل txt شماره 1 شبیه شماره 2 بود دستوراتی اجرا کنه؟!

vbhamed
جمعه 03 خرداد 1392, 07:48 صبح
سلام
بايد محتواي فايلها رو توي متغير بريزد و بعد مقايسه كنيد
اما شما بهتره اول محتواي دو تا تكست باكس رو به عنوان نمونه بزاريد و دقيقا توضيح بدين چي مي‌خواين

علیرضا.ا
شنبه 04 خرداد 1392, 12:44 عصر
دقیقا من منظورم اینه:
* و # هر چیزی میتونه باشه!
میخوام وقتی از text1 این عبارت رو پیدا کرد:


<div class="*"><div class=#>matlab</div></div>

این عبارت رو جایگزینش کنه:


<cb:block_blog_recent_post>
<div class="*"><div class=#>matlab</div></div>

vbhamed
شنبه 04 خرداد 1392, 14:04 عصر
سلام
خب اينكه نياز به like نداره
عبارت اولي رو داخل x1 و عبارت دوم رو داخل متغير x2 بزاريد و بنويسيد
text2 = Replace(text1, x1, x2)