Để 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 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 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.