2013-07-19 2 views
3

У меня есть строка, которая содержит много разных символов, и я хочу, чтобы иметь возможность разделить строку на все символы, которые находятся в категории [Po] в юникоде.Split string по unicode category

Как я могу легко это сделать (т. Е. Я хочу избежать перечисления всех символов в этом списке, а затем создать массив гигантских символов, а затем расщепить)? Я также предполагаю, что есть общие свойства в том, как хранятся эти символы, что облегчит это.

Итак, как я могу разделить строку всеми символами пунктуации unicode?

ответ

3

Po категория является supported by the .NET regular expression engine, так что вы можете просто сделать это:

Regex.Split("this,is.a!test", @"\p{Po}") // [ "this", "is", "a", "test" ] 
+0

Разве это не только знаки препинания другой? – soandos

+0

@soandos Правильно, это только категория Unicode. –

+0

Но как насчет Ps, Pi, Pf, Pe и т. Д.? – soandos