PDA

View Full Version : سوال: چگونه از سمت راست يك رشته به تعداد دلخواه متني را جدا كنيم؟



ebrahimv
یک شنبه 22 آذر 1388, 12:47 عصر
چگونه از سمت راست يك رشته به تعداد دلخواه متني را جدا كنيم؟
مثلا رشته "Ebrahim"
از سمت راست 2 كاراكتر را جدا كنم و بشود "im"
فكر كنم دستور آماده اي براي اين كار باشه ولي من نتونستم پيدا كنم

ali.hojjati
یک شنبه 22 آذر 1388, 12:56 عصر
می تونی از دستور

Dim str as String = "Ebrahim"
str = mid(str,6,2)و یا


Dim str as string = "Ebrahim"
str=str.Remove(0,5)

استفاده کنی. اولیه اون دو تا حرف آخر رو بر می گردونه ولی دومی عبارت قبل از دو تا حرف آخر رو حذف می کنه.

Computer.Programmer
یک شنبه 22 آذر 1388, 13:00 عصر
چگونه از سمت راست يك رشته به تعداد دلخواه متني را جدا كنيم؟
مثلا رشته "Ebrahim"
از سمت راست 2 كاراكتر را جدا كنم و بشود "im"
فكر كنم دستور آماده اي براي اين كار باشه ولي من نتونستم پيدا كنم





Dim s As String = Strings.Right("Ebrahim", 2)



موفق باشید

nima898
یک شنبه 22 آذر 1388, 14:00 عصر
چگونه از سمت راست يك رشته به تعداد دلخواه متني را جدا كنيم؟
مثلا رشته "Ebrahim"
از سمت راست 2 كاراكتر را جدا كنم و بشود "im"
فكر كنم دستور آماده اي براي اين كار باشه ولي من نتونستم پيدا كنم


dim s as string = microsoft.visualbasic.right("Ebrahim",2)
موفق باشید

Hossis
یک شنبه 22 آذر 1388, 18:53 عصر
dim s as string = microsoft.visualbasic.right("Ebrahim",2)
موفق باشید
این کار نیاز به ایمپورت نیم اسپیس مربوط به ویژوال بیسیک داره و در محیط عادی کار نمی کنه

می تونی از دستور

Dim str as String = "Ebrahim"
str = mid(str,6,2)و یا


Dim str as string = "Ebrahim"
str=str.Remove(0,5)

استفاده کنی. اولیه اون دو تا حرف آخر رو بر می گردونه ولی دومی عبارت قبل از دو تا حرف آخر رو حذف می کنه.
با سلام
این دو دستور اشکال داره چون فقط روی یک مورد مثل مثال مزبور کار می کنه ولی فرض کنید رشته ای سه حرف یا 20 حرف داشته باشه،‌این دستور جواب نمی ده




Dim s AsString = Strings.Right("Ebrahim", 2)



موفق باشید
کلاس String همچین تابعی نداشت ،‌من امتحان کردم

بهترین کد اینه که همه جا کاربرد داره و نیاز به رفرنس و هیچ چیز دیگر نداره


Dim str AsString = "Ebrahim"
str = Mid(str, Len(str) - 2)
MsgBox(str)

Computer.Programmer
دوشنبه 23 آذر 1388, 10:56 صبح
کلاس String همچین تابعی نداشت ،‌من امتحان کردم



دوست عزیز حسین جان این مربوط به کلاس Strings هست نه String. گذشته از اون تابع در همان کلاسی قرار دارد که تابع Mid قرار گرفته ولی به علت پرکاربرد بودن آن بدون ذکر نام کلاس شما می توانید به اون دسترسی داشته باشید.

به نظر من تا زمانی که خود .Net تابع هایی برای کاری که می خواهیم انجام بدیم قرار داده استفاده از تابع های دیگر و چرخاندن آن برای کار خودمون جایز نیست. دستور Right برای جدا کردن رشته از سمت راست و دستور Left برای جدا کردن رشته از سمت چپ است در صورتی که دستور Mid برای جدا کردن بخشی از رشته است که ما نمی دونیم دقیقا کجا قرار داره.

موفق باشید.

hossein-khoshseyar
چهارشنبه 02 دی 1388, 14:11 عصر
اکثر مثال هایی که دوستان نوشتن کدهاش مربوط به vb6 بود البته اون رو هم می شه استفاده کرد ولی بتید ابتدا کلاس مربوطه رو import کرد

ولی این روشی که می نویسم توی دات نت راحت اجرا می شه


Dim temp As String
temp = "123456789"
temp = temp.Substring(temp.Length - 2, 2)