Làm cách nào để kiểm tra xem đầu vào của tôi có phải là loại chuỗi cụ thể không. Vì vậy, không có số, không "/", ...kiểm tra nội dung của chuỗi nhập
Trả lời
Vâng, để kiểm tra xem một đầu vào thực sự là một đối tượng kiểu System.String
, bạn chỉ có thể làm:
bool IsString(object value)
{
return value is string;
}
Để kiểm tra xem một string
chỉ chứa chữ cái, bạn có thể làm một cái gì đó như thế này:
bool IsAllAlphabetic(string value)
{
foreach (char c in value)
{
if (!char.IsLetter(c))
return false;
}
return true;
}
Nếu bạn muốn kết hợp này, bạn có thể làm như vậy:
bool IsAlphabeticString(object value)
{
string str = value as string;
return str != null && IsAllAlphabetic(str);
}
Ví dụ tốt về cả hai, là tiêu đề và câu hỏi không khớp chính xác. – corsiKa
Nó không hoàn toàn rõ ràng những gì bạn muốn, nhưng bạn có thể làm điều đó với một biểu thức chính quy. Ví dụ để kiểm tra xem chuỗi của bạn chỉ chứa chữ cái trong az hoặc AZ bạn có thể làm điều này:
string s = "dasglakgsklg";
if (Regex.IsMatch(s, "^[a-z]+$", RegexOptions.IgnoreCase))
{
Console.WriteLine("Only letters in a-z.");
}
else
{
// Not only letters in a-z.
}
Nếu bạn cũng muốn cho phép không gian, gạch dưới, hay các nhân vật khác chỉ cần thêm chúng giữa các dấu ngoặc vuông trong biểu thức chính quy . Lưu ý rằng một số ký tự có ý nghĩa đặc biệt bên trong các lớp ký tự biểu thức chính quy và cần phải được thoát bằng dấu gạch chéo ngược.
Bạn cũng có thể sử dụng \p{L}
thay vì [a-z]
để khớp với bất kỳ ký tự Unicode nào được coi là chữ cái, kể cả chữ cái trong bảng chữ cái nước ngoài.
Một cái gì đó như thế này (chưa được kiểm tra) có thể phù hợp với yêu cầu (mơ hồ) của bạn.
if (input is string)
{
// test for legal characters?
string pattern = "^[A-Za-z]+$";
if (Regex.IsMatch(input, pattern))
{
// legal string? do something
}
// or
if (input.Any(c => !char.IsLetter(c)))
{
// NOT legal string
}
}
using System.Linq;
...
bool onlyAlphas = s.All(c => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
+1 không sử dụng regex! – Aren
-1 vì bị tàn bạo – Luiscencio
Đừng làm cho tôi sai: regex có sử dụng của nó. Nhưng đối với một thuật toán đơn giản, đơn giản như thế này, nó quá mức cần thiết. Tuy nhiên, tôi thích câu trả lời của Reed hơn. Không biết về 'Char.IsLetter'. – StriplingWarrior
Nếu bạn có ý nghĩa "là chuỗi hoàn toàn thư", bạn có thể làm:
string myString = "RandomStringOfLetters";
bool allLetters = myString.All(c => Char.IsLetter(c));
này được dựa trên LINQ và Char.IsLetter phương pháp.
đây là cool =) – Luiscencio
Char.IsLetter hoạt động như thế nào với nội địa hóa? – ahsteele
@ahsteele: Nó thực sự là System.Globalization.CharUnicodeInfo để xử lý điều này cho các ký tự không phải latin. –
- 1. ScalaTest: kiểm tra nội dung của một chuỗi với ShouldMatcher
- 2. Kiểm tra nội dung chuỗi? string Length Vs Empty String
- 3. Kiểm tra Rspec cho nội dung iframe
- 4. SharpZipLib Kiểm tra và chọn nội dung của tệp ZIP
- 5. Cách thêm nội dung vào thư mục SVN mà không kiểm tra nội dung của nó?
- 6. Đăng nhập API Web ASP.NET Đăng nhập Nội dung Yêu cầu Nội dung
- 7. Cách kiểm tra nhà cung cấp nội dung trên Android
- 8. JavaMail kiểm tra nội dung tin nhắn gmail IMAP
- 9. Chuyển đổi nội dung của HtmlTextWriter thành một chuỗi
- 10. Kiểm tra PDF chức năng (Tự động kiểm tra nội dung PDF)
- 11. Nội dung của $ GIT_DIR có nội dung gì?
- 12. Cách xem nội dung của Ràng buộc kiểm tra trên Oracle
- 13. SVN kiểm tra nội dung của một thư mục, không phải thư mục chính nó
- 14. Kiểm tra xem nội dung của DIV có trống không trong jQuery
- 15. Kiểm tra các nội dung của một mảng trong debugger Xcode
- 16. jQuery - nội dung tương đương với hơn nội dung chứa
- 17. Trong PHP, có thể kiểm tra nội dung của tệp Zip mà không trích xuất nội dung của nó trước không?
- 18. Kiểm tra chuỗi con của lỗi NSString
- 19. nội dung SQL Output của một bảng để chuỗi
- 20. Kiểm tra chạy cron nhập
- 21. kiểm tra lớp nội bộ
- 22. Nội dung SMS của Android (nội dung: // sms/đã gửi)
- 23. Kiểm tra Rspec cho các thực thể html trong nội dung trang
- 24. cách xóa nội dung trong luồng Chuỗi.?
- 25. Thay chuỗi trong nội dung tập tin
- 26. Lấy nội dung giữa hai chuỗi PHP
- 27. C#: Các chuỗi có cùng nội dung
- 28. Làm cách nào để kiểm tra nội dung của phần dữ liệu của tệp ELF trên Linux?
- 29. Kiểm tra nội bộ của các chức năng trong Haskell
- 30. Đọc nội dung của URL trong Android
D o bạn bởi bất kỳ cơ hội có nghĩa là chữ cái (chỉ chữ cái) thay vì chuỗi? – BoltClock
Ý của bạn là "Làm cách nào để kiểm tra xem chuỗi có chứa các ký tự không?" –
Bạn có nghĩa là một chuỗi chỉ bao gồm các ký tự chữ và số không? Bạn có thể xác định những nhân vật chính xác? –