Если вы действительно хотите использовать Regex, вам нужно помнить, чтобы экранировать |
как \|
в необработанном регулярном выражении и в C #, "\\|"
или @"\|"
.
string[] parts = Regex.Split (input, @"\|");
Для чего-то простого, подобного этому, просто используйте string[] parts = input.Split('|')
. Вы не должны использовать регулярные выражения в этом случае, если нет чего-то особенного, например, нежелание делиться на экранированных каналах (например, email@email.com|my value has a \| in it|more stuff'
). В этом примере вы бы использовали это:
string[] parts = Regex.Split (input, @"(?<!\\)\|");