Ich versuche zu verstehen, warum, wenn ich meinen Textdokument Inhalt (aktualisierte Inhalt, jedes Mal ist es neue Zeichenfolge) mit neuen Einfügung für ähnliche bereits vorhandene Zeichenfolge, zum Beispiel wenn Dokumentinhalt ist:Wie finde ich String mit Interpunktion am Ende
hello world
hello, world
hello, world.
.hello, world
es neu hinzugefügt String gründet, wenn es bereits in Inhalt der Datei vorhanden ist, wenn es „Hallo Welt“ oder „hallo, Welt“ ist, mit einfachen Prüfzustand, die benachrichtigt mich, wenn die Zeichenfolge bereits existiert (und es gibt keine Einschränkungen oder andere Bedingungen für das letzte Symbol in der Zeichenfolge):
List<string> wordsTyped = new List<string>();
if (wordsTyped.Contains(newStr))
{
string[] allLines = File.ReadAllLines(path);
}
aber es benachrichtigt mich nicht, wenn ich in meinem Dokument Inhaltszeichenfolge mit Interpunktionszeichen am Ende oder am Anfang der Zeichenfolge habe. Zum Beispiel, wenn "Hallo, Welt." die bereits existiert, und neue einfügen ist ähnlich "Hallo, Welt." oder ", Hallo, Welt" es findet es nicht und benachrichtigt mich als nicht vorhanden.
Wenn es keine Lösung gibt, um mit diesem Problem herauszufinden, und ich bin gezwungen, letzte spezielle Symbol in der Zeichenfolge zu entfernen, in diesem Fall wäre es auch gut zu wissen, wie es mit Regex für bestimmte Symbole Punkt, Komma zu tun , Hash und Apostroph und behalten Sie alles andere natürlich
Bitte zu erarbeiten und zu bearbeiten, ist die Frage unklar – Jim
@ Jim in diesem Punkt unklar ist? Ich finde keine Zeichenfolge im Textdokument, wenn am Ende der Zeichenfolge ein Satzzeichen steht. Ich kann finden ** h, el! L: o ** aber kann es nicht finden, wenn es ist, h, el! L: o. ** oder ** h, el! L: o; ** egal oder **, h, el! l: o ** oder wenn ich es am Anfang der Zeichenfolge habe –
Wenn Sie nur Sonderzeichen vor und nach Ihrer Eingabe-Zeichenfolge interessieren, können Sie einfach eine For-Schleife verwenden, um über Ihre zu iterieren Array und verwenden Sie die contains-Methode von String, um zu überprüfen, ob "Hallo Welt". enthält "Hallo Welt". Falls Sie zwischen diesen Wörtern Sonderzeichen haben, [[werfen Sie einen Blick auf diesen Thread] (http://stackoverflow.com/questions/6555182/remove-all-special-characters-except-space-from-a-string-use) -javascript), um eine grobe Vorstellung von der Regex zu bekommen. Ich würde auch empfehlen, eine Seite wie regex101.com zu verwenden, um Ihre regex idiotensicher zu erstellen :) – Seth