2017-11-08 1 views
1

Ich gehe durch alte schlecht gestaltete Komma getrennte Daten. In den meisten Fällen wird jeder "Abschnitt" korrekt durch ein Komma getrennt:Ist es möglich, eine Zeichenkette durch Komma zu trennen, aber nicht durch Komma Leerzeichen

string old_data = data_for_section_1,data_for_section_2,IDs|in|section|3

Das für Abschnitt 4 verschieden ist, dessen Daten "comma white space" getrennt:

string old_data = data_for_section_1,data_for_section_2,IDs|in|section|3,section_4_part_1, section_4_part_2, section_4_part_3,data_for_section_5

Ist es überhaupt möglich, die 5 Abschnitte in ein Array zu bekommen und zu füttern und nicht mit 7 Elementen in diesem Array zu enden?

Antwort

6

Ich glaube, die folgenden Arbeiten:

var data = Regex.Split(old_data, @",(?!\s)"); 

Ein Beispiel hierfür here ist.

+0

Ich abonniere Ihre glauben nach der Bearbeitung. Vielen Dank! –

+1

Dies eignet sich hervorragend für alle Arten von Leerzeichen, aber wenn Sie Matches mit nur 'n' Whitespaces ausschließen müssen, dann ein einfaches altes' Regex.Split (old_data, @ ", (?! \ S" + n + ") "sollte den Job machen. – staa99

Verwandte Themen