Thứ Sáu, 30 tháng 10, 2009

Xử lý chuỗi

1. Tách chuỗi nằm giữa 2 từ

  1. using System.Text.RegularExpressions; //Namespace cần thiết
  2. public String[] Tachchuoigiua2tu(String ChuoiGoc, String Tu1, String Tu2)
  3. {
  4. String varParttern = Tu1 + "[^" + Tu2 + "]*" + Tu2;
  5. Regex objRegex = new Regex(varParttern, RegexOptions.Multiline);
  6. MatchCollection objMatch = objRegex.Matches(ChuoiGoc);
  7. String[] Ketqua = new String[objMatch.Count];
  8. for(int i=0; iCount;i++)
  9. {
  10. Ketqua[i] = objMatch[i].Value.Replace(Tu1,"").Replace(Tu2,"");
  11. }
  12. return Ketqua;
  13. }

Cách sử dụng

  1. private void btnTestParttern_Click(object sender, EventArgs e)
  2. {
  3. String chuoi = "<<11111>>,<<22222>>,<<333333>>";
  4. String[] Ketqua = Tachchuoigiua2tu(chuoi, "<<", ">>");
  5. foreach (String s in Ketqua)
  6. {
  7. txtKetqua.Text += s + "\r\n";
  8. }
  9. }
  10. //////////////
  11. //Kết quả
  12. 11111
  13. 22222
  14. 33333

2. Tách các cụm số ra khỏi chuỗi

Ví dụ bạn cần tách các cụm số ra khỏi chuỗi sau :D abcsd123456asdhfkas4646546werwer78979

  1. String varParttern = @"\d+";
  2. String s = "abcsd123456asdhfkas4646546werwer78979";
  3. Regex objRegex = new Regex(varParttern, RegexOptions.Multiline);
  4. MatchCollection objMatch = objRegex.Matches(s);
  5. foreach (Match Temp in objMatch)
  6. {
  7. txtKetqua.Text += Temp.Value + "\r\n";
  8. }
  9. Kết quả
  10. 123456
  11. 4646546
  12. 78979

Tách các cụm số ra khỏi chuỗi (Cách 2)

  1. public string isNum(string s)
  2. {
  3. string kq;
  4. Regex objR = new Regex("[0-9]");
  5. MatchCollection objMatch = objR.Matches(s);
  6. foreach (Match Tmp in objMatch)
  7. {
  8. kq += Tmp.Value;
  9. }
  10. return kq;
  11. }

0 nhận xét:

Đăng nhận xét