Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Tìm kiếm một xâu trong một chuỗi như thế nào ?

  1. #1
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Mặc định Tìm kiếm một xâu trong một chuỗi như thế nào ?

    Visual C# Code:
    1.             if (txtPattem.Text == "")
    2.             {
    3.                 MessageBox.Show("Not fount Input", "Infomatinon", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    4.             }
    5.             else
    6.             {
    7.                 string textToSearchFor = txtPattem.Text;
    8.                 int index = richTextBox1.Text.IndexOf(textToSearchFor, StringComparison.OrdinalIgnoreCase);
    9.                 if (index >= 0)
    10.                 {
    11.                     richTextBox1.Select(index, textToSearchFor.Length);
    12.                     richTextBox1.SelectionFont = new Font("Arial", 12f, FontStyle.Bold);
    13.                 }
    14.                 else
    15.                 {
    16.                     // not found
    17.                     MessageBox.Show("Not found", "Information", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    18.                 }
    19.             }
    Mình tìm nó chỉ hiện lên sâu đầu tiên mình cần tìm thôi.
    Mình muốn nó bôi đen tất cả nhưng từ mình tìm được và hiển thị số lượng từ tìm được ra mesenger thì mình làm như nào được các bạn?
    Mong các bạn giúp mình.
    Đã được chỉnh sửa lần cuối bởi Promise Forever : 16-09-2011 lúc 09:08 PM.

  2. #2
    Ngày gia nhập
    11 2008
    Nơi ở
    An Giang
    Bài viết
    502

    Khi bạn click vào button Tìm thì nó duyệt qua từng dòng trong RichTextBox nếu phát hiện chuỗi cần tìm nằm trong dòng đang duyệt thì nó Select
    Code Demo:
    Visual C# Code:
    1.             foreach (string s in richTextBox1.Lines)
    2.             {
    3.                 if (s.IndexOf(textBoxTìm.Text) != -1)
    4.                     richTextBox1.Select();
    5.                     return;
    6.                 }
    7.             }
    Đã được chỉnh sửa lần cuối bởi huuhung : 16-09-2011 lúc 09:08 PM.

  3. #3
    Ngày gia nhập
    06 2011
    Bài viết
    29

    Mình thay vào rồi không thấy có gì thay đỗi cả?

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    Trong ví dụ sau đây Kevin làm để bạn có thể đưa kết quả vào hiện thị trên RichTextEdit.

    Cách 1: Thuần theo suy nghĩ
    Visual C# Code:
    1.             string inputString = "Cong dong C Viet - cong dong lap trinh C Viet Nam"; //Chuỗi đầu vào
    2.             string keywordString = "Viet"; //Chuỗi cần tìm
    3.             string highlightString = "{\\rtf1\\ansi\\ansicpg1252\\uc1{\\fonttbl\\f0\\fswiss Arial;}\\f0\\pard ";
    4.  
    5.             int iCount = 0;
    6.             int pos, offset = 0;
    7.             while ((pos = inputString.IndexOf(keywordString)) > 0)
    8.             {
    9.                 highlightString += inputString.Substring(0, pos);
    10.                 highlightString += "\\b" + keywordString + "\\b0";
    11.                 inputString = inputString.Substring(pos + keywordString.Length);
    12.                 offset += pos;
    13.                 iCount++;
    14.             }
    15.             highlightString += inputString + " \\par}";

    Cách 2: Sử dụng Regular Expression
    Visual C# Code:
    1.             Regex rgx = new Regex(keywordString);
    2.             highlightString = rgx.Replace(inputString, "\\b" + keywordString + "\\b0");
    3.             highlightString = "{\\rtf1\\ansi\\ansicpg1252\\uc1{\\fonttbl\\f0\\fswiss Arial;}\\f0\\pard "; + highlightString + " \\par}";

    Bạn nhét highlightString vào một RichTextEdit xem nhé! Ngoài ra có thể sử dụng RichTextEdit SelectionBackColor Method.
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

Các đề tài tương tự

  1. Cách tìm kiếm chuỗi con trong một chuỗi lớn?
    Gửi bởi tetuongrua trong diễn đàn Thắc mắc lập trình shell Linux
    Trả lời: 1
    Bài viết cuối: 18-01-2014, 02:02 PM
  2. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 06-08-2011, 08:25 AM
  3. Bài tập C tìm kiếm chuỗi trong lập trình C?
    Gửi bởi hieunguyen68 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 12-12-2010, 02:11 AM
  4. Bài toán tìm kiếm chuỗi trong C#
    Gửi bởi Address trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 02-11-2010, 11:32 PM
  5. Tìm kiếm chuỗi trong lập trình C# .Net
    Gửi bởi homeo trong diễn đàn Tutorials và Thủ thuật lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 16-12-2006, 04:21 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn