PDA

View Full Version : پیدا کردن یک کارکتر در یک رشته



jeus
سه شنبه 12 تیر 1386, 20:38 عصر
دوستان مهربان بازم پیدام شد
حقیقت اینه که من میخواهم یک text box که نشان دادن موقعیت رکور جاری در دیتاست است
همون curencyManager در که به این صورت نوشته میشه 12of18 البته بین عدها و of فاصله است یک عدد را نوشته تا به همون رکورد بره .
اول از همه من باید یک if بنویسم که هر وقت نوشته دارای of بود بیاد مکان اولین " "= space را پیدا کرده و یک substring از 0 تا اون عدد بگیرم تا بتونم و اونو جدا کنم و تبدیل به عدد کنم تا بتونم اون رکوردو نشون بدم . یه چیزی تو مایه های پایین آکروبات ریدر (تست کنید ) بعد اگر of نداشت همون رشته را تبدیل به عدد کنم .
حالا میخواهم بدونم که پیدا کردن موقعیت یک کاراکتر یا یک رشته با چه متدی انجام میشه و چجوری میشه فهمید که یک رشته شامل یک رشته دیگر هست یا نه
آیا باید از Split استفاده کنم ؟

jeus
سه شنبه 12 تیر 1386, 20:41 عصر
پیداش کردم باید از متد lastindexof , firstindexof استفاده کرد درسته ؟
ولی اینو نمیدونم که چطور باید of را توی رشته تشخیص دهم اگه بود true بفرسته از contains باید استفاده کنم ؟
To Be Continued

Mrs.Net
سه شنبه 12 تیر 1386, 21:13 عصر
string text="3 of 18";
int x=text.indexof("of");
text=text.remove(x,2);
با کد بالا اونجایی که of داره حذف میشه
البته اگه پیدا نکرد -1 برمیگردونه

ولی منظورتون نفهمیدم!

jeus
سه شنبه 12 تیر 1386, 21:29 عصر
واقعا ازت ممنونم اما میخواهم بدونم چطور تشخیص بدم که اصلا of داره یا نه آیا با contain باید تشخیص بدم ؟

Mrs.Net
سه شنبه 12 تیر 1386, 21:33 عصر
اگه نداشته باشه مقدار x تو کد بالا برابر -1 میشه

if(x<0) // there isnt of in string

با contain یک آزایه میتونی چک کنی و نه یک string

jeus
سه شنبه 12 تیر 1386, 21:52 عصر
پس میگی چه کار کنم ؟
ببین من دقیقا میخواهم مثل اکروبات باشه یعنی براش فرق نکنه


3 of 13 or 3

Mrs.Net
سه شنبه 12 تیر 1386, 22:02 عصر
int x=text.indexof("of");
if(x>0){
string num1=text.substr(0,x);
string num2=text.substr(x+2);
}
else{
x=text.indexof(" ");
....}
شبیه به این میشه
ولی فکر کنم از maskedبجای textbox استفاده کنی بهتر باشه

jeus
سه شنبه 12 تیر 1386, 22:22 عصر
میشه یه توضیحی در موردش بدی ؟

masked
و پروپرتیهای مهمشو توضیح بدی

alireza1384
چهارشنبه 13 تیر 1386, 07:22 صبح
maskedTextBox ازobject های استانداراست که می توانی ازداخل toolbox آنرا به روی فرم بکشی که به وسیله آن می توانی کاربررا مجبورکنی مقدارورودی را به شکل فرمتی که مورد نظر خودت است وارد کند . ازخواص مهم آن Mask و PromptChar است که برای سوال خود می توانی از روش زیر استفاده کنی :
MaskedTextBox1.Mask = "## of ##" l
که کاربر را مجبور می کند فقط بتواند در قبل و بعد از Of یک عدد وارد کند و آن هم حداکثر دو رقم .