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
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,993
    Đã được thích:
    1,215
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Để 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 về các hàm xử lý chuỗi trong c# asp.net thông dụng nhất, các hàm xử lý chuỗi c# thường được áp dụng trong lập trinh web, phần mềm bằng ngôn ngữ lập trình c#, asp.net

    ham-xu-ly-chuoi-trong-c-sharp-asp-net-mvc.jpg

    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?
    VD:
    Mã:
    var strstring = "Diễn đàn seo ITSEOVN";
    if(strstring.Contains("seo"))
    {
       //trả về True có chuỗi: seo
    }else
    {
       //trả về False không có chuỗi: seo
    }
    
    • Kết quả nhận được là true nhé.
    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
    Thay thế chuỗi đầu tiên được tim thấy và tùy chỉnh số lượng thay thế của chuỗi.
    • VD: tôi có chuỗi: itseovn xử lý chuỗi itseovn tại itseovn.com. Tôi muốn thay thế chuỗi itseovn đầu tiên và chỉ 1 chuỗi này thôi thì bạn làm như sau:
    Mã:
    using System;
    using System.Text.RegularExpressions;
    public class GFG{
        static public void Main (){
            //Code
            string str="itseovn xử lý chuỗi itseovn tại itseovn.com";
            Regex regex = new Regex("itseovn");
            string result = regex.Replace(str, "Hàm", 1);
            Console.WriteLine(result);
        }
    }
    • Kết quả nhận được: Hàm xử lý chuỗi itseovn tại itseovn.com
    • Đổi số 1 thành số lượng cần Replace mà bạn muốn.
    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
    • Kiểm tra số lần hiển thị của chữ "i" trong chuỗi "diễn đàn seo itseovn xử lý chuỗi"
    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
    • str: chuỗi 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('-');
    
    • Kết quả nhận được là: Xử lý chuỗi C#
    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ỳ ở cuối 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('#');
    
    • Kết quả nhận được là: Xử lý chuỗi C
    Ví dụ:
    Mã:
    string MyString = "Xử lý chuỗi C#";
    char[] MyChar = {'C','#',' ' };
    string NewString = MyString.TrimEnd(MyChar);
    
    • Kết quả nhận được là: Xử lý chuỗi
    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);
    
    • Kết quả nhận được chuỗi: Xử lý chuỗi trong c# tại itseovn
    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#

    Chỉnh sửa cuối: 13/7/23
    HappyGold thích bài này.
  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,993
    Đã được thích:
    1,215
    Đ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.
     
  3. okduocthoi1
    Tham gia ngày:
    16/9/16
    Bài viết:
    3
    Đã đượ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
     
  4. hieuoutliers
    Tham gia ngày:
    1/7/16
    Bài viết:
    5
    Đã đượ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
     
  5. leetoan82
    Tham gia ngày:
    26/5/16
    Bài viết:
    1
    Đã đượ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
     
  6. chunglh
    Tham gia ngày:
    7/2/17
    Bài viết:
    2
    Đã đượ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
     
  7. silgmr
    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
     
  8. tranthien0170
    Tham gia ngày:
    7/11/18
    Bài viết:
    20
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    cảm ơn bạn đã chia sẽ bài viết
     
  9. Vaytiennongs86
    Tham gia ngày:
    24/1/19
    Bài viết:
    13
    Đã được thích:
    0
    Điểm thành tích:
    1
    cảm ơn bài viết nhiều
     
  10. Văn Nam
    Tham gia ngày:
    28/1/19
    Bài viết:
    27
    Đã được thích:
    0
    Điểm thành tích:
    6
    Bài viết rất chi tiết, cảm ơn thớt
     
  11. thanhnga3010
    Tham gia ngày:
    29/6/19
    Bài viết:
    20
    Đã được thích:
    0
    Điểm thành tích:
    6
    Giới tính:
    Nam
    cảm ơn rất nhiều bài viết rát hữu ích
     
  12. minhtranseo
    Tham gia ngày:
    13/8/19
    Bài viết:
    20
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    came ơn ad đã chia sẻ cách xử lí chuỗi trong c#
     
  13. Hoàng Phương An
    Tham gia ngày:
    12/6/19
    Bài viết:
    26
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    hay quá, cảm ơn thớt đã chia sẻ
     
  14. DonaNguyen
    Tham gia ngày:
    28/8/19
    Bài viết:
    6
    Đã được thích:
    1
    Điểm thành tích:
    3
    Giới tính:
    Nam
    thanks AD tìm cái này lâu lắm rồi.
     
  15. sayconcept
    Tham gia ngày:
    29/10/19
    Bài viết:
    15
    Đã được thích:
    2
    Điểm thành tích:
    1
    Giới tính:
    Nữ
    cảm ơn bạn. bài viết ý nghĩa đấy , giúp mọi người củng cố lại kiến thức :D
     
  16. Thompson Clegg
    Tham gia ngày:
    22/11/19
    Bài viết:
    19
    Đã được thích:
    1
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Cảm ơn add đã chia sẻ bài viết hữu ích
     
  17. Daniel Pham
    Tham gia ngày:
    1/1/20
    Bài viết:
    18
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    Co nhieu diem khong duoc ro cho lam
     
  18. dongsonv88
    Tham gia ngày:
    31/10/20
    Bài viết:
    14
    Đã được thích:
    0
    Điểm thành tích:
    1
    Giới tính:
    Nam
    mai quá đúng thứ mình cần
     


Chủ để tương tự : Các hàm
Diễn đàn Tiêu đề Date
Lập trình phần mềm Những cách học lập trình Java hiệu quả nhất 19/4/18
Lập trình phần mềm Mô hình MVC là gì và cách sử dụng mô hình MVC hiệu quả 25/12/14
Lập trình phần mềm Mô hình 3 lớp là gì và cách sử dụng mô hình 3 lớp hiệu quả 25/12/14
Lập trình phần mềm Ninja Shoppe – Phần mềm quản lý chăm sóc shop chuyên nghiệp 2/8/19
Lập trình phần mềm Code c# hàm kiểm tra số, kiểm tra xem có phải là số 9/9/14