Ich möchte überprüfen, dass eine Zeichenfolge keine doppelten Zeichen (aus einer Reihe von schlechten Zeichen) in benachbarten Positionen enthält. Zurück Stapelüberlauf Antworten zu diesem Thema scheinen hauptsächlich von der allgemeinen Form zu sein:Ist es möglich, LINQ zu verwenden, um doppelte benachbarte Zeichen zu erkennen?
for(int i = 0; i < testString.Length-1; i++){
if(testString[i] == testString[i+1] && testString[i] == badChar){
//Handle rejection here
}
}
Ist es möglich, diese Art der Überprüfung/Validierung in LINQ zu tun? Allgemeiner: Ist es innerhalb von LINQ möglich, den Wert jedes Zeichens in einer Zeichenkette mit dem nächsten Zeichen in einem
testString.Any(c => /*test goes here*/)
Aufruf zu vergleichen?
Blick auf die [MoreLINQ Bibliothek] (https://github.com/morelinq/MoreLINQ), insbesondere [ 'GroupAdjacent'] (https://github.com/morelinq/MoreLINQ/blob/master/ MoreLinq/GroupAdjacent.cs) - Sie können die Tests [hier] (https://github.com/morelinq/MoreLINQ/blob/master/MoreLinq.Test/GroupAdjacentTest.cs) für Beispiele sehen. (Wenn Sie die Bibliothek nicht selbst verwenden möchten, zeigt sie Ihnen zumindest, wie es geht.) – davidbak
Alternativ könnte regex für Sie arbeiten. – Derek
Regex können Sie nur ([Badschar]) \ 1 –