Mam sytuację, w której muszę spróbować odfiltrować fałszywe numery SSN. Z tego, co widziałem do tej pory, jeśli są fałszywe, wszystkie są takie same lub 123456789. Mogę filtrować do ostatniego, ale czy istnieje łatwy sposób na sprawdzenie, czy wszystkie znaki są takie same?C# określić, czy wszystkie znaki w ciągu są takie same
Odpowiedz
powrotu (SSN. Distinct() .Count() == 1)
Złap pierwszą postać i zapętl.
var ssn = "222222222";
var fc = ssn[0];
for(int i=0; i<ssn.Length; i++)
{
if(ssn[i]!=fc)
return false;
}
return true;
oczywiście należy również sprawdzić długość ssn
Łańcuch ma wartość null to zerwanie: p – Jay
Ya .. Pusty ciąg również to przerwać. PO powinien zająć się tym problemem. –
Ta metoda powinna załatwić sprawę:
public static bool AreAllCharactersSame(string s)
{
return s.Length == 0 || s.All(ch => ch == s[0]);
}
Objaśnienie: jeśli długość ciąg jest 0, to oczywiście wszystkie znaki są takie podobnie. W przeciwnym razie znaki łańcucha są takie same, jeśli wszystkie są równe pierwszemu.
Aby gid pozbyć się tego problemu, ponieważ mówimy o SSN. Możesz sprawdzić i użyć projektu demo CodeProject w celu sprawdzenia poprawności numeru SSN. Chociaż jest to w VB.Net, myślę, że możesz wymyślić ten sam pomysł. !
Kodowanie ograniczeń tutaj jest prawdopodobnie lepszym rozwiązaniem niż jakikolwiek filtr, który wymyślisz. – AShelly
, ale jak sprawdziłbyś numer SSN, gdyby podane wartości były fałszywe? na przykład 123456798? Istnieje szereg reguł, które musimy wdrożyć przy naszej walidacji. Sprawdzenie, czy wszystkie znaki są takie same, nie wystarczyłoby, aby było wiarygodne. – lexeRoy
char[] chrAry = inputStr.ToCharArray();
char first = chrAry[0];
var recordSet = from p in chrAry where p != first select p;
return !recordSet.Any();
- 1. Czy znaki Unicode i Ascii są takie same?
- 2. Czy CDN i Cloud są takie same?
- 3. Sprawdź, czy dwa elementy są takie same
- 4. Czy drools są takie same jak jrules?
- 5. Sprawdzanie wszystkie wartości w elemencie są takie same
- 6. wykryć, czy dwie ścieżki są takie same
- 7. ggplot2 Linie Tufte takie same jak znaki osiowe
- 8. XML :: LibXML - wykrywanie, czy dwa elementy są takie same?
- 9. Pythoniczny sposób sprawdzania, czy długości wielu list są takie same
- 10. Czy dwie instrukcje są zawsze takie same w perlu?
- 11. Czy CAST i CONVERT są takie same w SQL?
- 12. Zastąp wszystkie niesłowające się znaki, takie jak? * + #
- 13. Jak sprawdzić, czy wszystkie wartości w kolumnach macierzy numpy są takie same?
- 14. Czy lewe połączenia zewnętrzne i lewe łączenia są takie same?
- 15. Czy "div> p" i "div p" są takie same?
- 16. jQuery - jak sprawdzić, czy dwa elementy są takie same?
- 17. Czy idempotentne funkcje są takie same jak czyste funkcje?
- 18. Czy domyślne wartości wyliczeniowe w C są takie same dla wszystkich kompilatorów?
- 19. Listy są takie same, ale nie są uważane za równe?
- 20. Java regex i sed nie są takie same ...?
- 21. Tablica w php i dict w python są takie same?
- 22. PHP http_build_query z dwoma kluczami tablicy, które są takie same
- 23. Znajdź liczbę kolejnych elementów, które są takie same, zanim zmieni
- 24. Kiedy wskaźniki do tego samego obiektu są takie same?
- 25. Sprawdź, czy ciąg zawiera wszystkie znaki innego ciągu w Ruby
- 26. Znajdź dwie linie w pliku, które są takie same
- 27. Czy te 2 algorytmy plecakowe są takie same? (Czy zawsze wyprowadzają to samo)
- 28. stripping wszystkie znaki z ciągu, pozostawiając numery
- 29. C# Regex literowe znaki z ciągu znaków
- 30. Adresy IP dla domen i ich subdomen są takie same?
s = null && s.Length> 1 && s [s.Length - 1] == s [0] – Jay
wystarczy użyć pierwszego znaku w łańcuchu i skorzystać z odpowiedzi na to poprzednie pytanie liczyć liczba wystąpień: http://stackoverflow.com/questions/10391481/number-of-occurrences-of-a-character-in-a-string – JeffO
Ile razy problem będzie występował w innych miejscach? W razie potrzeby kompensowana przez niepewność wymagana ... – Jay