PDA

View Full Version : سوال: انتخاب یک قسمت مشخص از یک رشته



arjangf
دوشنبه 07 بهمن 1387, 20:17 عصر
درود بر دوستان عزیز.

من یک متغییر از نوع string دارم که حاوی رشته زیر است:

Database = partia

میخواهم از این رشته فقط قسمت بعد از علامت = را انتخاب کنم و در یک متغییر از نوع string قرار دهم.
لطفاً راهنمایی کنید.
متشکرم.

masoud.t123
دوشنبه 07 بهمن 1387, 20:51 عصر
تابع substring این کار را انجام می دهد. برای جداکردن یه زیر رشته از رشته اصلی
subsring (mainstring,number) number=tedad argham godakonande

mostafaaa
دوشنبه 07 بهمن 1387, 21:34 عصر
سلام دوست من
به اضافه روشی که دوستمون گفتن ، از این روش هم میتونی استفاده کنی :

Dim StringArray() As String = Split("Database = partia", "=")
مزیتش هم اینه که هر جمله ای با هر طول دلخواه رو که بینشون "=" باشه رو از هم جدا میکنه و داخل یه آرایه ذخیره میکنه!

ACorvinus
سه شنبه 08 بهمن 1387, 08:03 صبح
سلام دوست من
به اضافه روشی که دوستمون گفتن ، از این روش هم میتونی استفاده کنی :

Dim StringArray() As String = Split("Database = partia", "=")مزیتش هم اینه که هر جمله ای با هر طول دلخواه رو که بینشون "=" باشه رو از هم جدا میکنه و داخل یه آرایه ذخیره میکنه!


سلام دوست عزیز
فرمایش شما درست
ولی اگه در یه جمله ای بیش از یک "=" باشه، اونوقت چی ؟

arjangf
سه شنبه 08 بهمن 1387, 08:36 صبح
راهنمایی بسیار مفیدی بود دوستان .
از توجه تان بسیار سپاسگذارم .

mostafaaa
سه شنبه 08 بهمن 1387, 09:30 صبح
سلام دوست من

ولی اگه در یه جمله ای بیش از یک "=" باشه، اونوقت چی ؟
هیچ اتفاقی نمیفته همونطور که در همون پست هم گفتم هر جمله به صورت جداگانه در یک خانه از آرایه (البته به ترتیب) ذخیره میشه!!(یعنی اگه سه تا مساوی بین جمله هامون داشته باشیم طول آرایمون 4 خواهد شد).
علاوه بر اینها این متد یه آرگومان دیگه داره به نام Limit که از نوع integer هستش که با مشخص کردن اون میتونی تعداد delimiter هایی رو که تابع در نظر میگیره رو محدود کنی.
برای مثال این رو میتونی تست کنی :

Dim S() As String = Split("a=b=c=d", "=", 2)
یا علی

masoud.t123
سه شنبه 08 بهمن 1387, 12:51 عصر
سلام دوست من
به اضافه روشی که دوستمون گفتن ، از این روش هم میتونی استفاده کنی :

Dim StringArray() As String = Split("Database = partia", "=")
مزیتش هم اینه که هر جمله ای با هر طول دلخواه رو که بینشون "=" باشه رو از هم جدا میکنه و داخل یه آرایه ذخیره میکنه!

با عرض سلام خدمت شما
آقا مصطفی می شه یه کم بیشتر در مورد تابع spilit توضیح دهید.
یعنی پس از این که ما رشته ها را جدا می کنیم چگونه باید از آرایه استفاده کنیم؟

mostafaaa
سه شنبه 08 بهمن 1387, 16:58 عصر
سلام دوست من
توضیح خاصی نداره ! مثلا برای اون مثالی که زدم طول آرایمون 2 میشه که به محتویاتشون هم به ترتیب به این شکل میشه :

S(0)="a"

S(1)="b=c=d"
یا علی

ashalove
چهارشنبه 09 بهمن 1387, 01:32 صبح
سلام . علاوه بر روشی که دوستان گفتن می تونید محل قرار گرفتن = را در رشته پیدا کنید بعد با استفاده از تابع mid رشته مورد نظر را جداکنید . راحترین و قدیمیترین راه هم همینه . مثلا

mid( string , strat , lenght)

string رشته
start محل شروع
lenght طول زیر رشته ای که باید جدابشه که اگه به اون مقدار ندید تا انتهای رشته را انتخاب و بر می گردونه.