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

نام تاپیک: یافتن کلمات در متن

  1. #1

    Question یافتن کلمات در متن

    من یه متن دارم چجوری می تونم بگم یک قسمتی رو در نظر بگیره ؟؟
    حالا اون قسمت رو در نظر گرفتیم (مثلا یک کلمه) چجوری بگم که کلمه بعدی اش رو پیدا کنه ؟؟؟

  2. #2
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,146

    نقل قول: یافتن کلمات در متن

    درخصوص کار با مقادیر رشته ای جستجو کنید. البته پیشنها میکنم بیشتر در خصوص کار با RichTextBox جستجو کنید

  3. #3

    نقل قول: یافتن کلمات در متن

    نقل قول نوشته شده توسط jebreily مشاهده تاپیک
    من یه متن دارم چجوری می تونم بگم یک قسمتی رو در نظر بگیره ؟؟
    حالا اون قسمت رو در نظر گرفتیم (مثلا یک کلمه) چجوری بگم که کلمه بعدی اش رو پیدا کنه ؟؟؟
    در چی در نظر بگیره؟ داخل TextBox؟ یا داخل متغیر string؟
    فرضا یک textBox1 داریم. بهش میگیم از کاراکتر اندیس 4 ام به طول 5 کاراکتر رو انتخاب کن و Selection کن :

    private void button1_Click(object sender, EventArgs e)
    {
    textBox1.Select(4, 5);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    textBox1.Text = "This is a test";
    textBox1.HideSelection = false;
    }


    یا فرضا میگیم الان که کاربر در textBox کلمه ای رو کامل یا ناقص انتخاب کرده برو جلو و کلمه بعدی رو انتخاب کن :

    private void button1_Click(object sender, EventArgs e)
    {
    var start = textBox1.SelectionStart;
    var length = 0;
    for (; ((start < textBox1.TextLength) && (char.IsWhiteSpace(textBox1.Text[start]) == false)); start++)
    {
    }
    for (; ((start < textBox1.TextLength) && (char.IsWhiteSpace(textBox1.Text[start]))); start++)
    {
    }
    for (; ((start + length < textBox1.TextLength) && (char.IsWhiteSpace(textBox1.Text[start + length]) == false)); length++)
    {
    }
    textBox1.Select(start, length);
    }

  4. #4

    نقل قول: یافتن کلمات در متن

    در متغیر استرینگ

  5. #5

    نقل قول: یافتن کلمات در متن

    ببینید به نظرم سوالتون رو خوب مطرح نکردین بهتره چند نمونه ورودی خروجی یا حداقل کدتون که تا الان نوشتین رو قرار بدین.
    الان عبارت «در نظر بگیره» چه معنایی داره؟

  6. #6

    نقل قول: یافتن کلمات در متن

    نقل قول نوشته شده توسط jebreily مشاهده تاپیک
    در متغیر استرینگ
    اگر در متغیر string باشه، باید از قبل بدونید که از کجا تا کجا رو می خواهید انتخاب کنید، مثل همون مثال کدی که نوشتم موقعیت شروع start و طول انتخاب یعنی length اش مهمه.
    اگر میدونید کجا است که با SubString به سادگی انتخابش می کنید :

    var s1 = "This is a sample text.";
    var s2 = s1.Substring(10, 6);


    اگر نمیدونید و دنبالش بگردید و پیدا بشه باز میشه انتخابش کرد ولی کاربردی نیست چون اگه متنی که لازم داریم در دستمون هست چرا جای دیگه دنبالش بگردیم؟

    var s1 = "This is a sample text.";
    var pos = s1.IndexOf("sample");
    if (pos >= 0)
    {
    var s2 = s1.Substring(pos, 6);
    }


    در مورد رفتن به کلمه بعدی هم همین قاعده هست، اگر محل شروع کلمه قبلی رو در متن بدونید میتوانید کلمه بعدی رو بدست بیارید، مثلا میدونید sample کجا است و حالا عبارت بعدی اش رو میخواهید :

    var s1 = "This is a sample text.";
    var start = s1.IndexOf("sample");
    var length = 0;
    for (; ((start < s1.Length) && (char.IsWhiteSpace(s1[start]) == false)); start++)
    {
    }
    for (; ((start < s1.Length) && (char.IsWhiteSpace(s1[start]))); start++)
    {
    }
    for (; ((start + length < s1.Length) && (char.IsWhiteSpace(s1[start + length]) == false)); length++)
    {
    }
    var nextWord = s1.Substring(start, length);

  7. #7

    نقل قول: یافتن کلمات در متن

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    اگر در متغیر string باشه، باید از قبل بدونید که از کجا تا کجا رو می خواهید انتخاب کنید، مثل همون مثال کدی که نوشتم موقعیت شروع start و طول انتخاب یعنی length اش مهمه.
    اگر میدونید کجا است که با SubString به سادگی انتخابش می کنید :

    var s1 = "This is a sample text.";
    var s2 = s1.Substring(10, 6);


    اگر نمیدونید و دنبالش بگردید و پیدا بشه باز میشه انتخابش کرد ولی کاربردی نیست چون اگه متنی که لازم داریم در دستمون هست چرا جای دیگه دنبالش بگردیم؟

    var s1 = "This is a sample text.";
    var pos = s1.IndexOf("sample");
    if (pos >= 0)
    {
    var s2 = s1.Substring(pos, 6);
    }


    در مورد رفتن به کلمه بعدی هم همین قاعده هست، اگر محل شروع کلمه قبلی رو در متن بدونید میتوانید کلمه بعدی رو بدست بیارید، مثلا میدونید sample کجا است و حالا عبارت بعدی اش رو میخواهید :

    var s1 = "This is a sample text.";
    var start = s1.IndexOf("sample");
    var length = 0;
    for (; ((start < s1.Length) && (char.IsWhiteSpace(s1[start]) == false)); start++)
    {
    }
    for (; ((start < s1.Length) && (char.IsWhiteSpace(s1[start]))); start++)
    {
    }
    for (; ((start + length < s1.Length) && (char.IsWhiteSpace(s1[start + length]) == false)); length++)
    {
    }
    var nextWord = s1.Substring(start, length);
    ممنون از شما
    اگر بخواهم بگویم کلمه قبلی اش رو پیدا کنه چی ؟؟؟

  8. #8

    نقل قول: یافتن کلمات در متن

    نقل قول نوشته شده توسط jebreily مشاهده تاپیک
    ممنون از شما
    اگر بخواهم بگویم کلمه قبلی اش رو پیدا کنه چی ؟؟؟
    دقیقا جهت معکوس میشه، بجای ++ از -- استفاده می کنیم و بجای اینکه حواسمون به انتهای رشته رسیدن باشه، به ابتدای رشته رسیدن حساسیت نشون میدیم :

    var s1 = "This is a sample text.";
    var start = s1.IndexOf("sample");
    var length = 1;
    for (; ((start >= 0) && (char.IsWhiteSpace(s1[start]) == false)); start--)
    {
    }
    for (; ((start > 0) && (char.IsWhiteSpace(s1[start]))); start--)
    {
    }
    for (; ((start > 0) && (char.IsWhiteSpace(s1[start - 1]) == false)); length++, start--)
    {
    }
    var prevWord = (start >= 0) ? s1.Substring(start, length) : "";


  9. #9

    نقل قول: یافتن کلمات در متن

    نقل قول نوشته شده توسط the king مشاهده تاپیک
    دقیقا جهت معکوس میشه، بجای ++ از -- استفاده می کنیم و بجای اینکه حواسمون به انتهای رشته رسیدن باشه، به ابتدای رشته رسیدن حساسیت نشون میدیم :

    var s1 = "This is a sample text.";
    var start = s1.IndexOf("sample");
    var length = 1;
    for (; ((start >= 0) && (char.IsWhiteSpace(s1[start]) == false)); start--)
    {
    }
    for (; ((start > 0) && (char.IsWhiteSpace(s1[start]))); start--)
    {
    }
    for (; ((start > 0) && (char.IsWhiteSpace(s1[start - 1]) == false)); length++, start--)
    {
    }
    var prevWord = (start >= 0) ? s1.Substring(start, length) : "";

    من نمیدونم که چطوری باید از شما تشکر کنم ؟؟؟
    بسیار بسیار ممنون هستم
    من رو شرمنده کردید واقعاً
    ممنون
    سپاس فراوان

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

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