Ich habe eine ähnliche Zeichenfolge wie diese:
Der Junge sagte zu seiner Mutter: "Kann ich? Süßigkeiten haben? "
Wenn ich eine normale String.Split
mache, bekomme ich:
Ich möchte ein Array wie folgt:
%Vor%Offensichtlich könnte ich einfach Zeichen für Zeichen durchlaufen und verfolgen, ob ich in einer Zeichenfolge bin oder nicht und all das ... aber gibt es einen besseren Weg? Mit Regexs vielleicht?
Hängt etwas von Ihren Anforderungen ab. Z.B. müssen Sie AAA "BBB (keine Leerzeichen) als Schilderwort oder zwei Wörter behandeln? Wenn AAA" BBB ist ein einzelnes Wort, und "startet nur ein qouted-Feld nach dem Trennzeichen - das sieht aus wie CSV-Parser. Natürlich hat CSV andere Regeln, wie doppelte qoutes, um wörtliches Zitat zu bedeuten, usw. - aber Sie müssten einige ähnliche Regeln auch definieren.
So können Sie jeden Open-Source-CSV-Parser anpassen oder prüfen, ob z. Microsoft.VisualBasic.FileIO.TextFieldParser funktioniert für Sie
%Vor%Wie wäre es mit dem Finden aller Übereinstimmungen dieser Regex:
%Vor%Ich habe eine ähnliche Zeichenfolge wie diese:
Der Junge sagte zu seiner Mutter: "Kann ich? Süßigkeiten haben? "
Wenn ich eine normale %code% mache, bekomme ich:
%Vor%Ich möchte ein Array wie folgt:
%Vor%Offensichtlich könnte ich einfach Zeichen für Zeichen durchlaufen und verfolgen, ob ich in einer Zeichenfolge bin oder nicht und all das ... aber gibt es einen besseren Weg? Mit Regexs vielleicht?
Hängt etwas von Ihren Anforderungen ab. Z.B. müssen Sie AAA "BBB (keine Leerzeichen) als Schilderwort oder zwei Wörter behandeln? Wenn AAA" BBB ist ein einzelnes Wort, und "startet nur ein qouted-Feld nach dem Trennzeichen - das sieht aus wie CSV-Parser. Natürlich hat CSV andere Regeln, wie doppelte qoutes, um wörtliches Zitat zu bedeuten, usw. - aber Sie müssten einige ähnliche Regeln auch definieren.
So können Sie jeden Open-Source-CSV-Parser anpassen oder prüfen, ob z. Microsoft.VisualBasic.FileIO.TextFieldParser funktioniert für Sie
%Vor%