Girdemin belirli bir dizgi olup olmadığını nasıl kontrol edebilirim. Sayısal yok, yok "/", ...Dize girdisi içeriğinin kontrol edilmesi
cevap
Eh, bir giriş aslında tip System.String
bir nesne olup olmadığını kontrol etmek, sadece yapabilirsiniz:
bool IsString(object value)
{
return value is string;
}
bir string
yalnızca harf içerdiğini kontrol etmek için, böyle bir şey yapabileceğini:
bool IsAllAlphabetic(string value)
{
foreach (char c in value)
{
if (!char.IsLetter(c))
return false;
}
return true;
}
, bunu yapabilirdi:
bool IsAlphabeticString(object value)
{
string str = value as string;
return str != null && IsAllAlphabetic(str);
}
Her ikisine de örnek olarak, başlık ve soru tam olarak eşleşmiyor. – corsiKa
Tam olarak ne istediğinizi tam olarak açıklayamıyorsunuz, ancak bunu normal bir ifadeyle yapabilirsiniz. , Ayrıca boşluk izin vermek istiyorsanız
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.
}
altını ya da diğer karakterler sadece normal ifadede köşeli parantezler arasına ekleyin: Örneğin dize Bunu yapmanın bir z ya AZ sadece harfler içerip içermediğini kontrol etmek . Bazı karakterlerin normal ifade karakter sınıfları içinde özel bir anlamı olduğunu ve ters eğik çizgi ile kaçması gerektiğini unutmayın.
Ayrıca, [a-z]
yerine \p{L}
, yabancı alfabelerde harfler de dahil olmak üzere bir harf olarak kabul edilen herhangi bir Unicode karakteriyle eşleşmesi için de kullanabilirsiniz.
Böyle bir şey (test edilmemiş) sizin (belirsiz) gereksinimlerinize uyabilir.
using System.Linq;
...
bool onlyAlphas = s.All(c => (c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'));
+1! – Aren
-1 acımasız olmak için – Luiscencio
Beni yanlış anlama: regex, kullanımları vardır. Ancak bunun gibi basit, tek geçişli bir algoritma için, bu aşırı bir sıkıntı. Yine de Reed'in cevabını daha çok seviyorum. Char.IsLetter' hakkında bilmiyordum. – StriplingWarrior
Eğer demek istediğin
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
}
}
"tamamen harfleri dizedir", bunu yapabilirsiniz:
string myString = "RandomStringOfLetters";
bool allLetters = myString.All(c => Char.IsLetter(c));
Bu LINQ ve Char.IsLetter yöntemine dayanmaktadır.
bu harika =) – Luiscencio
Char.IsLetter yerelleştirme ile nasıl çalışır? – ahsteele
@ahsteele: Aslında System.Globalization.CharUnicodeInfo, bunu latin olmayan karakterler için ele alır. –
- 1. Kullanıcı girdisi Dize, Java
- 2. Yönlendirenin kontrol edilmesi
- 3. formtastic - bir dize girdisi değeri
- 4. Bir öğenin görünürlüğünün kontrol edilmesi
- 5. Javascript'te enterferans zamanlamalarının kontrol edilmesi?
- 6. Doğru bağımsız değişkenlerin kontrol edilmesi
- 7. Tohumların Mclapply ile kontrol edilmesi
- 8. Python sınıflarında özelliklerin geçerliliğinin kontrol edilmesi
- 9. Chrome Uzantısı: Veri içeriğinin manipüle edilmesi için izinler URI'lar
- 10. rspec komut satırı girdisi girdisi
- 11. Bir Erlang korumasında üyeliğin kontrol edilmesi
- 12. Değer, arayüz uygulayıp uygulamadığının kontrol edilmesi. Golang
- 13. Android'de kullanıcı adı ve şifrenin kontrol edilmesi
- 14. Form girdisi
- 15. WebBrowser ajax içeriğinin beklenmesi
- 16. İki dizenin içeriğinin aynı olup olmadığı nasıl kontrol edilir?
- 17. Flask istek içeriğinin mevcut olup olmadığını kontrol edin
- 18. Sürükle/bırak içeriğinin görüntü olup olmadığını kontrol edin
- 19. Dize içerip içermediğini kontrol edin
- 20. Güvenlik panelinin durumunun kontrol edilmesi AS3'te hatırlıyorum seçeneği
- 21. Koleksiyondaki kirli herhangi bir omurga modeli verilerinin kontrol edilmesi
- 22. Elixir'de bir fonksiyonun kontrol edilmesi için bir yol var mı?
- 23. Çıkış karakterleri için bir python dizesinin kontrol edilmesi
- 24. Android Lint Eklentisi - kontrol edilmesi gereken özel uyarı/hata
- 25. İki listenin kontrol edilmesi çarpışma elemanına sahip mi?
- 26. Köşeli 2 - Sunucu hatalarının kontrol edilmesi için abone
- 27. Unix'te Test ODBC girdisi
- 28. Oracle pop-out girdisi
- 29. Statik dns girdisi ekle
- 30. C# ile WPF DataGrid'in bir Sözlükle Dize Edilmesi <String, Dize>
D o herhangi bir şans ile dizgenin yerine alfabetik (sadece harf) anlamına mı geliyor? – BoltClock
Yani, "Bir dizginin yalnızca karakter içerip içermediğini nasıl kontrol edebilirim?" –
Sadece alfanümerik karakterlerden oluşan bir dize mi demek istiyorsun? Tam olarak hangi karakterleri tanımlayabilir misiniz? –