Các hàm xử lý chuỗi trong c#, xử lý chuỗi căn bản trong c#

Thảo luận trong 'Lập trình phần mềm' bắt đầu bởi admin, 9/9/14.

  1. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,216
    Đã được thích:
    922
    Điểm thành tích:
    113
    Giới tính:
    Nam
    ham-xu-ly-chuoi-trong-c-sharp-asp-net-mvc.jpg
    Để xử lý chuỗi tốt trong lập trình c#, trong asp.net, bạn đọc các hàm sau để hiểu rõ hơn

    In dữ liệu ra màn hình để test dữ liệu
    • Console.WriteLine("dữ liệu cần in ra màn hình');
    • Hàm Console.WriteLine(): giúp chúng ta in dữ liệu ra màn hình dưới dạng html, để khi bạn test dữ liệu lỗi, muốn in ra dữ liệu xem đúng hay không trên màn hình.
    • Hàm này dùng để in dữ liệu ra ngoài màn hình. Khi bạn lập trình cần phải test dữ liệu sẽ sử dụng hàm này nhiều.
    1. Khai báo chuỗi
    Mã:
    
    string str ,str1,str2; // khai báo danh sách chuỗi
    str="hàm xử lý, xữ lý chuỗi c# tại itseovn"; //gán giá trị chuỗi
    str1="xử lý chuỗi 1 trong c#";
    str2="xử lý chuỗi 2 trong c#";
    
    2. Lấy chiều dài chuỗi
    • str.Length: lấy chiều dài chuỗi
    3. So sánh 2 chuỗi

    Cách 1: sử dụng == không phân biệt chữ hoa và thường khi so sánh
    Mã:
    str1 == str2
    • Kết quả trả về là True (2 chuỗi bằng nhau, giống nhau), False (2 chuỗi không bằng nhau, không giống nhau)
    Ví dụ:
    Mã:
    string str1 = "xử lý chuỗi itseovn";
    string str2 = "xử lý chuỗi tại itseovn";
    if(str1==str2){
         //thực hiện code khi bằng true
    }else{
        //thực hiện code khi bằng false
    }
    Ví dụ 2:
    Mã:
    string str1 = "xử lý chuỗi itseovn";
    string str2 = "xử lý chuỗi tại itseovn";
    string ketquasosanh = (str1 == str2 ? "2 chuỗi giống nhau" : "2 chuỗi khác nhau");
    Console.WriteLine(ketquasosanh);
    
    • Kết quả nhận được là: 2 chuỗi khác nhau
    Cách 2: sử dụng String.Compare (phân biệt hoa thường và không phân biệt hoa thường)
    Mã:
    String.Compare(str1,str2,true) 
    • Hàm trả về giá trị số == 0, < 0,> 0, so sánh hai chuỗi không phân biệt hoa thường.(str1 bằng, nhỏ hơn, lớn hơn str2), hàm sẽ trả về 0 là giống nhau, > 0 hay < 0 là 2 chuỗi khác nhau. True: không phân biệt chữ hoa chữ thường
    • Đổi thành false là phân biệt chữ hoa chữ thường.
    VD: Kiểm tra xem 2 chuỗi có giống nhau hay không.
    Mã:
    if (String.Compare(str1, str2, true) == 0)
    {
         Console.Write("Giống nhau, không phân biệt hoa thường");
    }
    else if (String.Compare(str1, str2, true) < 0)
    {
         Console.Write("str1 nhỏ hơn str2, không phân biệt hoa thường");//cái khác tương tự
    }
    
    • String.Compare(str1,str2,false) giống như trên, nhưng phân biệt chữ hao và chữ thường.
    Ví dụ:
    Mã:
    string s1 = "itseovN";
    string s2 = "itseovn";
    Console.WriteLine(String.Compare(s1, s2, false));
    
    • Kết quả nhận được là : 1 => 2 chuỗi không giống nhau khi phân biệt chữ hoa và thường.
    Mã:
    string s1 = "itseovn";
    string s2 = "itseovN";
    Console.WriteLine(String.Compare(s1, s2, false));
    
    • Kết quả nhận được là : -1 => 2 chuỗi không giống nhau khi phân biệt chữ hoa và thường.
    Cách 3: sử dụng Equals (có phân biệt chữ hoa và thường khi so sánh)
    Mã:
    str1.Equals(str2)
    • Hàm trả về giá trị true (2 chuỗi bằng), false (2 chuỗi không bằng)
    VD:
    Mã:
    string s1 = "itseovN";
    string s2 = "itseovn";
    string s3 = "itseovn";
    Console.WriteLine('Kết quả 1: ' + s1.Equals(s2));
    Console.WriteLine('Kết quả 2: ' + s2.Equals(s3 ));
    
    • Kết quả nhận được Kết quả 1: false (2 chuỗi không bằng nhau khi phân biệt chữ hoa và chữ thường)
    • Kết quả 2: true (2 chuỗi bằng nhau khi phân biệt chữ hoa và chữ thường)
    5. Kiểm tra đầu chuỗi và cuối chuỗi có tồn tại chuỗi cần tìm hay không?

    StartsWith & EndsWith là 2 hàm kiểm tra xem đầu chuỗi hoặc cuối chuỗi có tồn tại ký tự hoặc chuỗi ký tự cần tìm hay không?

    StartsWith()
    • Hàm trả về giá trị True là chuỗi có tồn tại, False là không tồn tại
    VD: cần kiểm tra xem ở đầu chuỗi www xử lý chuỗi itseovn có tồn tại chuỗi www hay không thì làm như sau:
    Mã:
    string MyString = "www xử lý chuỗi itseovn";
    var value = MyString.StartsWith("www");
    Console.WriteLine(value);
    
    • Kết quả nhận được là: True có tồn tại
    EndsWith()
    • Hàm trả về giá trị True là chuỗi có tồn tại, False là không tồn tại
    VD: cần kiểm tra xem ở cuối chuỗi www xử lý chuỗi itseovn có tồn tại chuỗi itseovn hay không thì làm như sau:
    Mã:
    string MyString = "www xử lý chuỗi itseovn";
    var value = MyString.EndsWith("itseovn");
    Console.WriteLine(value);
    
    5. Kiểm tra sự tồn tại của chuỗi 1 trong chuỗi 2
    • Str1.Contains(Str2) :Kiểm tra trong chuỗi Str1 có chuỗi Str2 hay không?
    6. Tìm vị trí hiển thị của chuỗi
    • Str1.IndexOf("chuỗi"): Vị trí xuất hiện đầu tiên của ký tự "chuỗi" trong Str1.
    • Trả về -1 nếu trong Str1 không có ký tự "chuỗi".
    7. Tìm vị trí xuất hiện cuối cùng của chuỗi
    • Str1.LastIndexOf("chuỗi"): Vị trí xuất hiện cuối cùng của ký tự "chuỗi" trong Str1.
    • Trả về -1 nếu trong Str1 không có ký tự "chuỗi".
    8. Kiểm tra xem chuỗi 1 có bắt bầu bằng ký tự trong chuỗi 2 không.
    • Str1.StartsWith(Str2):Kiểm tra xem chuỗi Str1 có bắt đầu bằng chuỗi Str2 không?
    9. Thay thế chuỗi
    • Str = Str.Replace(",","."):Thay thế dấu ',' thành dấu '.' trong chuỗi Str.
    • Str = Str.Replace("xử lý","hàm chuỗi"):Thay thế chuỗi 'xử lý' thành chuỗi ''hàm chuỗi' trong chuỗi Str
    10. Cắt chuỗi con
    • Str1 = Str.SubString(4):Tạo chuỗi con từ chuỗi Str bắt đầu từ vị trí 4 đến hết
    • Str1 = Str.Substring(0,8): Cắt chuỗi từ vị trí đầu tiên(vị trí 0) đến vị trí số 8, kết quả là 'hàm xử'
    11. Tách chuỗi .Split (Chuyển từ chuỗi string sang mảng Array
    • Dùng để phân tách các ký tự bất kỳ, từ chuỗi sang mảng ký tự.
    VD:
    Mã:
    string str="các hàm xử lý chuỗi, xử lý chuỗi trong c#";
    string[] arrListStr = str.Split(',');//tách trong chuỗi str trên khi gặp ký tự ','
    //kết quả arrListStr[0]='các hàm xử lý chuỗi' và arrListStr[1]='xử lý chuỗi trong c#'
    
    Hoặc
    Mã:
    string[] arrListStr = str.Split(new char[] { ',' });//tách trong chuỗi str trên khi gặp ký tự ','
    //kết quả arrListStr[0]='các hàm xử lý chuỗi' và arrListStr[1]='xử lý chuỗi trong c#'
    
    VD: kiểm tra số lần hiển thị của 1 chuỗi bao nhiêu lần thì làm như thế nào? nhanh nhất ra sao
    Mã:
    string[] arrListStr = str.Split(new char[] { 'i' });//tách trong chuỗi str trên khi gặp ký tự 'i'
    int chieudaichuoi = arrListStr.Length-1;
    
    Hoặc nếu bạn gặp lỗi: too many characters in character literal (không thể Split ký tự tách lớn hơn 1 ký tự)
    • Làm như sau:
    Mã:
    string[] arChar = { "[*|*]" };
    string[] arrListStr = str.Split(arChar, StringSplitOptions.None);
    
    • [*|*] : ký tự cần tách
    • StringSplitOptions.None : giữ nguyên mảng.
    • StringSplitOptions.RemoveEmptyEntries : xóa tất cả giá trị rỗng của mảng nếu Split xong.
    12. Chuyển từ mảng Array sang chuỗi String với String.Join
    • Hàm string.join giúp convert chuyển từ mảng array sang chuỗi.
    VD: ta có mảng string[] array= new string[] { "xử lý", "chuỗi trong", "c#" };

    Mình muốn chuyển thành chuỗi: xử lý, chuỗi trong, c# thì làm như sau:
    Mã:
    string[] Array= new string[] { "xử lý", "chuỗi trong", "c#" };
    string str = string.Join(", ", Array);
    
    • Kết quả: xử lý, chuỗi trong, c#
    13. Chuyển chữ hoa sang chữ thường và ngược lại
    • Str1 = Str.ToLower() :Chuyển chuỗi sang chữ thường
    • Str1 = Str.ToUpper() Chuyển chuỗi sang chữ hoa
    14. Cắt hết khoảng trắng ở đầu và cuối.
    • Str = Str.Trim() Cắt hết khoảng trắng ở đầu và cuối chuỗi
    • Str = Str.TrimLeft() Cắt hết khoảng trắng ở đầu chuỗi
    • Str = Str.TrimRight() Cắt hết khoảng trắng ở cuối chuỗi
    15. Xóa chuỗi
    • Str1.Remove(2): Xóa chuỗi Str1 từ vị trí 2 đến hết.
    • Str.Remove(4,9) : Xóa 1 chuỗi con trong Str1 có chiều dài là 6. Từ vị trí 4 đến vị trí 9
    16. Cắt/Xóa ký tự đặc biệt hay bất kỳ ở đầu và cuối chuỗi.
    • Key serch: xóa ký tự cuối cùng hay đầu chuỗi hay bất kỳ trong c#
    Xóa ký tự đặc biệt hay chỉ định bất kỳ ở đầu chuỗi:
    • TrimStart(KyTuCanXoa)
    • Hàm xóa đầu chuỗi những ký tự hoặc chuỗi ký tự được truyền vào.
    • Có thể xóa được cả mảng ký tự cần xóa với
    • KyTuCanXoa: là 1 ký tự hoặc 1 mảng ký tự cần xóa
    Ví Dụ:
    Mã:
    string MyString = "-Xử lý chuỗi C#";
    string NewString = MyString.TrimStart('-');
    
    Ví dụ:
    Mã:
    string MyString = "- Xử lý chuỗi C#";
    char[] MyChar = {'X','-',' ' };
    string NewString = MyString.TrimStart(MyChar);
    
    • Kết quả nhận được là: ử lý chuỗi C#
    Xóa ký tự đặc biệt hay chỉ định bất kỳ ở đầu chuỗi:
    • TrimEnd(KyTuCanXoa)
    • Hàm xóa cuối chuỗi những ký tự hoặc chuỗi ký tự được truyền vào.
    • Có thể xóa được cả mảng ký tự cần xóa với
    • KyTuCanXoa: là 1 ký tự hoặc 1 mảng ký tự cần xóa
    Ví Dụ:
    Mã:
    string MyString = "Xử lý chuỗi C#";
    string NewString = MyString.TrimEnd('#');
    
    Ví dụ:
    Mã:
    string MyString = "Xử lý chuỗi C#";
    char[] MyChar = {'C','#',' ' };
    string NewString = MyString.TrimEnd(MyChar);
    
    Ví dụ chung:
    Mã:
    string MyString = "H- Xử lý chuỗi trong c# tại itseovn!!";
    char[] MyChar = {'H','-',' ' };
    string NewString = MyString.TrimStart(MyChar);
    NewString = NewString.TrimEnd('!');
    Console.WriteLine(NewString);
    
    Chúc các bạn thành công
     
    Cảm ơn đã xem bài:

    Các hàm xử lý chuỗi trong c#, xử lý chuỗi căn bản trong c#

    danh sách diễn đàn rao vặt gov chất lượng
    Chỉnh sửa cuối: 30/10/18
  2. myonline84

    myonline84 Thành Viên Mới

    Tham gia ngày:
    20/1/16
    Bài viết:
    6
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Xin hỏi để so sánh chuỗi chúng ta có thể sử dụng toán tử == được không và vì sao? Vì thực tế chúng ta vẫn sử dụng toán tử này để so sánh 2 số.

    Xin cảm ơn.
     
  3. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,216
    Đã được thích:
    922
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Được bạn nhé, vì khi bạn so soánh bất kỳ kiểu số, text,... thì đều được chuyển ra kiểu dữ liệu chuyên biệt để kiểm tra, nên chuỗi hay số đều như nhau thôi.
     
  4. okduocthoi1

    okduocthoi1 Thành Viên Mới

    Tham gia ngày:
    16/9/16
    Bài viết:
    69
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    đúng cái mình cần thank bác
     
  5. hieuoutliers

    hieuoutliers Thành Viên Mới

    Tham gia ngày:
    1/7/16
    Bài viết:
    8
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    bài viết rất hay thanks bạn rất nhiều chúc bạn thành công và hạnh phúc
     
  6. leetoan82

    leetoan82 Thành Viên Mới

    Tham gia ngày:
    26/5/16
    Bài viết:
    28
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    tks chủ thớt, bài viết rất hay chúc bạn thành công và hạnh phúc
     
  7. chunglh

    chunglh Thành Viên Mới

    Tham gia ngày:
    7/2/17
    Bài viết:
    5
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    giải thích cho e lệnh này
     
  8. silgmr

    silgmr Thành Viên Mới

    Tham gia ngày:
    23/3/17
    Bài viết:
    7
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    cảm ơn bạn, bài chia sẻ rất hay
     


Like và Share ủng hộ ITSEOVN

Người dùng tìm kiếm ITSEOVN trên công cụ tìm kiếm

  1. các hàm xử lý chuỗi trong c#

    ,
  2. Code c# chuyen chu thuong sang chu hoa bang

    ,
  3. ham doi so thanh chu trong c#

    ,
  4. duyet tung ki tu trong chuoi c#,
  5. lay phan tu dau tien trong chuoi bang C#,
  6. tach khoang trang trong C#,
  7. các hàm xử lý stack c#,
  8. c# tach chuoi trong ,
  9. ham unicode trong c#