نمایش نتایج 1 تا 7 از 7

نام تاپیک: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

  1. #1

    جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    سوالات آزمون بصورت زیر در بانک ذخیره میشوند :

    1)The first name

    میخوام با جستجوی like مطلب مورد نظر رو پیدا کنم اما چون اول سوال عدد و پرانتز هستش مشکل دار شده. میشه لطفا بگید چطوری این عدد و پرانتز رو تو جستجو حذف کنم؟ البته عدد و سوالات از چپ نوشته میشه. که من نتونستم اینجا از چپ بنویسم

  2. #2
    کاربر دائمی آواتار alexmcse
    تاریخ عضویت
    فروردین 1391
    محل زندگی
    شیراز
    پست
    860

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    سلام
    بعد ازاینکه عبارت جستجو را پیدا کردی اون داخل یک متغییر استرینگ بریز و اینجوری عمل کن
       string s = "hellwellcom";
    MessageBox.Show(s = s.Remove(3,s.Length-3 )+s.Length.ToString());

  3. #3

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    نقل قول نوشته شده توسط alexmcse مشاهده تاپیک
    سلام
    بعد ازاینکه عبارت جستجو را پیدا کردی اون داخل یک متغییر استرینگ بریز و اینجوری عمل کن
       string s = "hellwellcom";
    MessageBox.Show(s = s.Remove(3,s.Length-3 )+s.Length.ToString());
    ممنون . ولی مشکل همون در پیدا کردن عبارت مورد نظره. لطفا به تصویر زیر دقت کن ببین آخرین فیلد ، فیلد سوالات هستش. ولی اول هر سوال عدد و پرانتز قرار داره. میخوام وقتی در تکس باکس اولین حرف سوال رو تایپ میکنه تا جایی که پرانتز هست خودکار نادیده گرفته بشه.
    Untitled1.jpg
    آخرین ویرایش به وسیله csharpdoost : دوشنبه 26 فروردین 1392 در 22:01 عصر

  4. #4
    کاربر دائمی آواتار Amir_Developer
    تاریخ عضویت
    خرداد 1391
    محل زندگی
    تهران
    پست
    113

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    فک کنم منظورت این باشه :

    string s = "12345) DELETED !";
    int i, temp = 0;
    for( i=0;i<s.Length;i++)
    if (s.Substring(i, 1) == ")")
    {
    temp = i+1;
    }
    MessageBox.Show(s = s.Remove(0,temp));


    که بعد از این کار فقط عبارت بعد از پرانتز نشون داده میشه !

  5. #5

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    نقل قول نوشته شده توسط Amir_Developer مشاهده تاپیک
    فک کنم منظورت این باشه :

    string s = "12345) DELETED !";
    int i, temp = 0;
    for( i=0;i<s.Length;i++)
    if (s.Substring(i, 1) == ")")
    {
    temp = i+1;
    }
    MessageBox.Show(s = s.Remove(0,temp));


    که بعد از این کار فقط عبارت بعد از پرانتز نشون داده میشه !
    ا تشکر از توجهتون .
    اما این رشته رو شما از کجا آوردید و عددهای اولش رو حذف کردید؟ ما میخواهیم توی بانک اطلاعاتی رشته رو پیدا کنیم و نمیدانیم که اولش چه عددی نوشته شده؟ یعنی بنده در تکس باکس حرف D را تایپ میکنم تا رشته مورد نظر(ِDELETED) پیدا بشه.طبق تصویر بالا هر عددی ممکنه در اول رشته باشه پس باید اون عددها نادیده گرفته بشه و جستجو از حروف شروع بشه.
    مثلا طبق تصویر بالا اگر بخواهم سوال شماره 19 رو جستجو کنم حرف I را باید تایپ کنم ولی بدلیل وجود عدد19و ( جستجو نتیجه یافت نمیشه.
    آخرین ویرایش به وسیله csharpdoost : دوشنبه 26 فروردین 1392 در 22:03 عصر

  6. #6
    کاربر دائمی
    تاریخ عضویت
    تیر 1389
    محل زندگی
    به جبر روزگار تهران هستم.
    پست
    2,718

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    سلام.
    توجه : حتما اعداد رو دو رقمی یا 3 رقمی ثبت کنید. مثلا به جای 1 بنویسید 01 یا 001 .(با توجه به تعداد سوالاتتون).
    کوئری زیر مشکل شما رو حل میکنه و 3 کاراکتر اول رو حذف میکنه.(دو کاراکتر برای عدد و یکی هم برای پرانتز).
    SELECT * FROM 
    (
    SELECT * , SUBSTRING(FieldName,4,LEN(FieldName)-3) AS a1 FROM TblTest
    ) Sub where a1 like '%' + @word + '%'

    منظور از word@ کلمه یا حرفی هست که کاربر تایپ کرده.
    حواستون باشه که این کوئری تا سوال 99 رو جواب میده اگر سوالتون بیش از 99 تاست اعداد رو 3 رقمی وارد کنید مثلا 1 میشه 001 .
    موفق باشید.

  7. #7

    نقل قول: جستجوی Like اما با نادیده گرفتن عددهایی که در اول متن وجود دارد

    نقل قول نوشته شده توسط veniz2008 مشاهده تاپیک
    سلام.
    توجه : حتما اعداد رو دو رقمی یا 3 رقمی ثبت کنید. مثلا به جای 1 بنویسید 01 یا 001 .(با توجه به تعداد سوالاتتون).
    کوئری زیر مشکل شما رو حل میکنه و 3 کاراکتر اول رو حذف میکنه.(دو کاراکتر برای عدد و یکی هم برای پرانتز).
    SELECT * FROM 
    (
    SELECT * , SUBSTRING(FieldName,4,LEN(FieldName)-3) AS a1 FROM TblTest
    ) Sub where a1 like '%' + @word + '%'

    منظور از word@ کلمه یا حرفی هست که کاربر تایپ کرده.
    حواستون باشه که این کوئری تا سوال 99 رو جواب میده اگر سوالتون بیش از 99 تاست اعداد رو 3 رقمی وارد کنید مثلا 1 میشه 001 .
    موفق باشید.
    البته لزومی هم نداره اعداد دو رقمی یا سه رقمی ثبت شده باشند چون میشه توسط CHARINDEX اندیس پرانتز رو بدست آورد.
    اگر میخواهید با حروف مورد نظر شروع بشه:

    select *
    from [Table-Name]
    where SUBSTRING([Column-Name] ,CHARINDEX(')',[Column-Name])+1 , len([Column-Name])-CHARINDEX(')' , [Column-Name])) like 'I%'

    یا

    with t
    as
    (
    select [COLUMNS] ,
    CHARINDEX(')' , [Column-Name])+1 as chIndex
    from [Table-Name]
    )
    select [COLUMNS]
    from t
    where SUBSTRING(t.[Column-Name] , t.chIndex , LEN(t.[Column-Name])-t.chIndex) LIKE 'a%'

    [Column-Name] نام ستونی که متن سوال در آن است.
    آخرین ویرایش به وسیله Mahmoud.Afrad : سه شنبه 27 فروردین 1392 در 08:18 صبح

تاپیک های مشابه

  1. سوال: نادیده گرفتن پوشه وقتی که نمیشه واردش شد
    نوشته شده توسط mehran788 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: سه شنبه 03 بهمن 1391, 08:22 صبح
  2. نادیده گرفتن اررورها
    نوشته شده توسط p30rex در بخش کامپوننت ها و ابزارهای کاربردی در VB6
    پاسخ: 2
    آخرین پست: چهارشنبه 06 بهمن 1389, 13:01 عصر
  3. سوال: نادیده گرفتن سایز صفحه در هنگام پرینت
    نوشته شده توسط atiyehmaleki در بخش گزارش سازی با Crystal Report
    پاسخ: 1
    آخرین پست: سه شنبه 19 آبان 1388, 18:25 عصر
  4. سوال: نادیده گرفتن اطلاعات تکراری در فیلد کلید اصلی
    نوشته شده توسط merlin69 در بخش SQL Server
    پاسخ: 2
    آخرین پست: جمعه 15 آبان 1388, 18:21 عصر
  5. نادیده گرفتن یک سری warning ،در هنگام کامپایل
    نوشته شده توسط zoncpp در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 1
    آخرین پست: دوشنبه 16 دی 1387, 13:52 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •