Do lớp String thực thi giao diện IEnumberable<T>, cho nên bất kỳ chuỗi nào đều có thể truy vấn dưới dạng 1 chuỗi ký tự. Tuy nhiên, đây không phải là cách dùng LINQ phổ biến. Với các thực thi so khớp phức tạp, người ta hay dùng lớp Regex.
Ví dụ sau truy vấn 1 chuỗi để xác định số các ký tự trong chuỗi. Lưu ý truy vấn được “tái sử dụng” sau khi nó được thực thi lần đầu. Điều này có thể làm được vì bản chất truy vấn không chứa kết quả thực của bất kỳ kết quả truy vấn thực tế nào.

static void Main(string[] args)
{
//chuỗi dữ liệu --- dammio.com
string aString = "JPL3UE1F--NK78-L2QW-34T";
// chọn các ký tự là số trong chuỗi  
IEnumerable<char> stringQuery =
  from ch in aString
  where Char.IsDigit(ch)
  select ch;
// Thực thi truy vấn, xuất kết quả các ký tự là số
foreach (char c in stringQuery)
	Console.Write(c + " ");
// Đếm số ký tự là số tìm được 
int count = stringQuery.Count();
Console.WriteLine(" --- So ky tu la so = {0}", count);
// Chọn tất cả ký tự trước dấu gạch ngang '-'  
IEnumerable<char> stringQuery2 = aString.TakeWhile(c => c != '-');
// Xuất các ký tự trước dấu gạch ngang
foreach (char c in stringQuery2)
	Console.Write(c);
Console.WriteLine(System.Environment.NewLine + "Nhan bat ky phim nao de thoat!");
Console.ReadKey(); 
}
Trong ví dụ trên, chúng ta có thể dùng where Char.IsDigit(ch) để kiểm tra ký tự nào là số trong 1 chuỗi cho trước và dùng phương thức Count như stringQuery.Count() để đếm số lượng phần tử trả về trong 1 truy vấn LINQ bất kỳ, cụ thể là số lượng các ký tự là số trong chuỗi cho trước. Chúng ta có thể dùng aString.TakeWhile(…); để lấy các ký tự trước dấu gạch ngang.
Kết luận: Bài viết đã giúp các bạn đếm được số ký tự trong 1 chuỗi sử dụng LINQ.
- APA:
 Dammio. (2017). [LINQ và chuỗi] Phần 3: Truy vấn các ký tự trong chuỗi. https://www.dammio.com/2017/04/13/linq-va-chuoi-phan-3-truy-van-cac-ky-tu-trong-chuoi.
- BibTeX:
 @misc{dammio,
 author = {Dammio},
 title = {[LINQ và chuỗi] Phần 3: Truy vấn các ký tự trong chuỗi},
 year = {2017},
 url = {https://www.dammio.com/2017/04/13/linq-va-chuoi-phan-3-truy-van-cac-ky-tu-trong-chuoi},
 urldate = {2025-10-29}
 }

![[Entity Framework] Phần 1: Giới thiệu Entity Framework [Entity Framework] Phần 1: Giới thiệu Entity Framework](https://www.dammio.com/wp-content/uploads/2016/11/no-image-410x260.png)
![[LINQ] Phần 6: Cú pháp truy vấn và cú pháp phương thức trong LINQ (C#) [LINQ] Phần 6: Cú pháp truy vấn và cú pháp phương thức trong LINQ (C#)](https://www.dammio.com/wp-content/uploads/2016/12/LINQ_query_syntax_vs_method_syntax-410x260.png)
![[ASP.NET MVC] Phần 2: Tạo website ASP.NET MVC đầu tiên [ASP.NET MVC] Phần 2: Tạo website ASP.NET MVC đầu tiên](https://www.dammio.com/wp-content/uploads/2017/09/DammioMVC_Template-410x260.png)
![[ASP.NET MVC] Phần 3: Thêm mới Controller (điều khiển) [ASP.NET MVC] Phần 3: Thêm mới Controller (điều khiển)](https://www.dammio.com/wp-content/uploads/2017/11/MVC_Model-410x260.png)
![[LINQ] Phần 10: Các toán tử truy vấn chuẩn trong LINQ 3 [LINQ] Phần 10: Các toán tử truy vấn chuẩn trong LINQ 3](https://www.dammio.com/wp-content/uploads/2017/03/IC176601-410x260.gif)
![[LINQ] Phần 4: Chuyển đổi dữ liệu với LINQ (C#) [LINQ] Phần 4: Chuyển đổi dữ liệu với LINQ (C#)](https://www.dammio.com/wp-content/uploads/2016/12/dammio_LINQ-410x260.png)
![[Entity Framework] Phần 4: Tạo cơ sở dữ liệu trước (Database First) [Entity Framework] Phần 4: Tạo cơ sở dữ liệu trước (Database First)](https://www.dammio.com/wp-content/uploads/2017/03/DatabaseFirst-410x260.jpg)
 wpDiscuz
                     
                    wpDiscuz