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

Đề tài: Cách loại bỏ các phần tử có giá trị trùng nhau (chỉ giữ lại một phần tử trong số các phần tử trùng)

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

    Mặc định Cách loại bỏ các phần tử có giá trị trùng nhau (chỉ giữ lại một phần tử trong số các phần tử trùng)

    Mình có đoạn chuỗi như thế này: s = "abc, abcd, abc, abc, bcd". Trong đoạn chuỗi đó có 3 chữ abc là trùng nhau, giờ mình muốn bỏ bớt đi 2 và chỉ còn như thế này: s = "abc, abcd, bcd". Các bạn biết giúp mình với. Thank's.

  2. #2
    Ngày gia nhập
    10 2014
    Bài viết
    1

    dung linq nhe
    var a=dsChuoi.Distinct()

    - - - Nội dung đã được cập nhật ngày 04-01-2015 lúc 12:08 AM - - -

    ghhhhhhhhhhhhhhhhhhhjjjjhhhhhhhhhhhhhhhhhhhhhhh
    Trích dẫn Nguyên bản được gửi bởi nguyenjay90 Xem bài viết
    dung linq nhe
    var a=dsChuoi.Distinct()

  3. #3
    Ngày gia nhập
    01 2015
    Nơi ở
    New York, New York, United States
    Bài viết
    0

    Code:
    int i = 0;// khai 1 bien moi de hoi ep du lieu luc duoc vao mang tuc la ar[1],ar[2] vay do
                int t = 0;// khai 1 bien moi dumg de xac dinh duong khi tu lap trung nhau ...co bao nhieu lan trong mang
                string tam;//bien dung de swap du lieu
                int demmang = 0;// dem mang rong bao nhieu ...vi dau phai luc nao cung"abc, abcd, abc, abc, bcd, abc",co the la"abc, abcd, abc, abc, bcd, abc"
                string s = textBox1.Text;//khai 1 bien string de chuyen doi du lieu o textbox1 qua
                s = s.Replace(",", "");//bien doi dau , thanh rong .... phuong thuc nay dung de thanh the  tuc la ky tu ,=rong (a,b)==(ab)
                string[] s2 = s.Split();//tao 1 cai mang string s2...de bat dau chay vong lap foreach de cat coi do rong cua cai chuoi nhap vao la bao nhieu
                foreach (string z in s2)//  +
                {                      //   +
                    if (z.Trim() != "")//   +
                    {                 //    + dang thuc hien 
                   demmang=demmang+1;//     +
                    }               //      +
                }
                string[] ar = new string[demmang];// tao 1 mang ar voi so phan tu da dem truoc trong truong hop vi du cua ban mang la 5  nhung chung ta ko can ghi so 5 vi da dem duoc o tren
                string[] s3 = s.Split();// tuong tu o dem phan tu trong mang ...nhung dot nay no se chuyen du lieu cat duoc vao trong mang ar thay vi la dem 
                foreach (string z1 in s3)//  +
                {                       //   +
                    if (z1.Trim() != "")//   +
                    {                  //    +
                        ar[i] = z1;    //    +dang thuc hien
                        i = i + 1;    //     +
                    }                //      +
                }                   //       +
                for (int j = 0; j < ar.Length; j++)// vong lap for nay dung de kiem tra du lieu 
                {
                    if (ar[j] == "abc")//day la loc du lieu theo kieu xac dinh ....tuc la ta da biet truoc cai can loc "abc"
                    {
                        t = t + 1;// bien nay duoc khai ra nham phu dich vi du ta co la du lai ky tu dau tien vidu abc,bcd,abc no se bo qua ky tu dau tien ...ky tu abc ke tiep no se rang = null...nhin vao cai ke tiep
                        if (t > 1)//khai bien t moi dau = 0 neu neu no da xuat hien 1 lan roi .. thi no moi +1 tu la neu abc bcd abc o cai abc thu 2 gia tri moi bat dau bang 1 thi ta du lai duoc gia tri dau tien 
                        {
                            ar[j] = null;// bien t>1 tuc la 1 ky tu xuat hien 2 lan..thi tai gia tri thu >1 tuc >=2 thi gia tri do bat dau = null(rong
                        }
                    }
                }
                for (int j = 0; j < ar.Length - 1; j++)// ham chay nham muc dich swap du lieu ....de nhung gia tri null ve cuoi mang ...... cho dep voi nhieu cai muc dich khac
                {                                     // neu ban lam mang so thi ban se hieu ....vi day la mang String nen ko can tinh toan nen .....lam cho muc dich khac
                    for (int c = j + 1; c < ar.Length; c++)//neu tinh toan thi ra phai resize cai chuoi lai de sap xep sau nay ...co 1 cai ham la resize mang Int
                    {
                        if (ar[j] == null)// neu gia tri trong o ar[thu j] ma bang null thi swap no ve cuoi mang//
                        {
                            tam = ar[j];
                            ar[j] = ar[c];
                            ar[c] = tam;
                        }
                    }
                }
                for (int j = 0; j < ar.Length; j++)// ham xuat ra text box 2
                {
                    textBox2.Text = textBox2.Text +" "+ar[j];// tai sao lai textbox2.text+ar ma khong phai ar.... vi neu ar ko moi lan lap lai no lai xoa gia tri cu ....lam cach nay la giong nhieu du lieu cu + du lieu moi 
                }
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.jpg
Lần xem:	7
Size:		17.4 KB
ID:		26045

    - - - Nội dung đã được cập nhật ngày 04-01-2015 lúc 01:52 AM - - -

    Kieu o tren la minh lam lun hàm cắt dữ liệu cắt lấy từ 1 nơi nào đó chẳng hạn text box
    con đây là lam kiểu ấn vào la được lun kiều này làm
    lish<string> thay vi lam string[]
    ma gan phan tu chi can add thoi
    ar.add(" gia tri ");
    chứ ko can ar[1]="gia tri "
    xem qua ban nhe
    Code:
                string s = textBox1.Text;
                s = s.Replace(",", "");
                List<string> ar = new List<string>();
                string[] s3 = s.Split();
                foreach (string z1 in s3)
                {                       
                    if (z1.Trim() != "")
                    {                  
                        ar.Add(z1);    
     
                    }                
                }
                List<string> cat = ar.Distinct().ToList();
                foreach (string catchuoi in cat)
                {
                    textBox2.Text = textBox2.Text+" "+ catchuoi;
                }
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.jpg
Lần xem:	16
Size:		90.7 KB
ID:		26046

  4. #4
    Ngày gia nhập
    10 2011
    Bài viết
    455

    Trích dẫn Nguyên bản được gửi bởi Nguyen Ho Xem bài viết
    Code:
    int i = 0;// khai 1 bien moi de hoi ep du lieu luc duoc vao mang tuc la ar[1],ar[2] vay do
                int t = 0;// khai 1 bien moi dumg de xac dinh duong khi tu lap trung nhau ...co bao nhieu lan trong mang
                string tam;//bien dung de swap du lieu
                int demmang = 0;// dem mang rong bao nhieu ...vi dau phai luc nao cung"abc, abcd, abc, abc, bcd, abc",co the la"abc, abcd, abc, abc, bcd, abc"
                string s = textBox1.Text;//khai 1 bien string de chuyen doi du lieu o textbox1 qua
                s = s.Replace(",", "");//bien doi dau , thanh rong .... phuong thuc nay dung de thanh the  tuc la ky tu ,=rong (a,b)==(ab)
                string[] s2 = s.Split();//tao 1 cai mang string s2...de bat dau chay vong lap foreach de cat coi do rong cua cai chuoi nhap vao la bao nhieu
                foreach (string z in s2)//  +
                {                      //   +
                    if (z.Trim() != "")//   +
                    {                 //    + dang thuc hien 
                   demmang=demmang+1;//     +
                    }               //      +
                }
                string[] ar = new string[demmang];// tao 1 mang ar voi so phan tu da dem truoc trong truong hop vi du cua ban mang la 5  nhung chung ta ko can ghi so 5 vi da dem duoc o tren
                string[] s3 = s.Split();// tuong tu o dem phan tu trong mang ...nhung dot nay no se chuyen du lieu cat duoc vao trong mang ar thay vi la dem 
                foreach (string z1 in s3)//  +
                {                       //   +
                    if (z1.Trim() != "")//   +
                    {                  //    +
                        ar[i] = z1;    //    +dang thuc hien
                        i = i + 1;    //     +
                    }                //      +
                }                   //       +
                for (int j = 0; j < ar.Length; j++)// vong lap for nay dung de kiem tra du lieu 
                {
                    if (ar[j] == "abc")//day la loc du lieu theo kieu xac dinh ....tuc la ta da biet truoc cai can loc "abc"
                    {
                        t = t + 1;// bien nay duoc khai ra nham phu dich vi du ta co la du lai ky tu dau tien vidu abc,bcd,abc no se bo qua ky tu dau tien ...ky tu abc ke tiep no se rang = null...nhin vao cai ke tiep
                        if (t > 1)//khai bien t moi dau = 0 neu neu no da xuat hien 1 lan roi .. thi no moi +1 tu la neu abc bcd abc o cai abc thu 2 gia tri moi bat dau bang 1 thi ta du lai duoc gia tri dau tien 
                        {
                            ar[j] = null;// bien t>1 tuc la 1 ky tu xuat hien 2 lan..thi tai gia tri thu >1 tuc >=2 thi gia tri do bat dau = null(rong
                        }
                    }
                }
                for (int j = 0; j < ar.Length - 1; j++)// ham chay nham muc dich swap du lieu ....de nhung gia tri null ve cuoi mang ...... cho dep voi nhieu cai muc dich khac
                {                                     // neu ban lam mang so thi ban se hieu ....vi day la mang String nen ko can tinh toan nen .....lam cho muc dich khac
                    for (int c = j + 1; c < ar.Length; c++)//neu tinh toan thi ra phai resize cai chuoi lai de sap xep sau nay ...co 1 cai ham la resize mang Int
                    {
                        if (ar[j] == null)// neu gia tri trong o ar[thu j] ma bang null thi swap no ve cuoi mang//
                        {
                            tam = ar[j];
                            ar[j] = ar[c];
                            ar[c] = tam;
                        }
                    }
                }
                for (int j = 0; j < ar.Length; j++)// ham xuat ra text box 2
                {
                    textBox2.Text = textBox2.Text +" "+ar[j];// tai sao lai textbox2.text+ar ma khong phai ar.... vi neu ar ko moi lan lap lai no lai xoa gia tri cu ....lam cach nay la giong nhieu du lieu cu + du lieu moi 
                }
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.jpg
Lần xem:	7
Size:		17.4 KB
ID:		26045

    - - - Nội dung đã được cập nhật ngày 04-01-2015 lúc 01:52 AM - - -

    Kieu o tren la minh lam lun hàm cắt dữ liệu cắt lấy từ 1 nơi nào đó chẳng hạn text box
    con đây là lam kiểu ấn vào la được lun kiều này làm
    lish<string> thay vi lam string[]
    ma gan phan tu chi can add thoi
    ar.add(" gia tri ");
    chứ ko can ar[1]="gia tri "
    xem qua ban nhe
    Code:
                string s = textBox1.Text;
                s = s.Replace(",", "");
                List<string> ar = new List<string>();
                string[] s3 = s.Split();
                foreach (string z1 in s3)
                {                       
                    if (z1.Trim() != "")
                    {                  
                        ar.Add(z1);    
     
                    }                
                }
                List<string> cat = ar.Distinct().ToList();
                foreach (string catchuoi in cat)
                {
                    textBox2.Text = textBox2.Text+" "+ catchuoi;
                }
    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		Untitled.jpg
Lần xem:	16
Size:		90.7 KB
ID:		26046
    Cảm ơn bạn nha, mình làm được rồi.

  5. #5
    Ngày gia nhập
    01 2015
    Nơi ở
    New York, New York, United States
    Bài viết
    0

    OK bạn
    Co gi thắc mắc gửi bài lên tiếp nhé

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