2013-05-08 3 views
0

Я использую return Regex.Split(s, @"\W"), чтобы разделить строку на слова.Разделить многоязычную строку на слова C#

Моя строка ввода 怀 了 双胞胎, 顺 产 还是 剖腹产 比较 ​​好呢? [Беременность с близнецами, естественная доставка или кесарево сечение хороша].

его прекрасно работать на английском языке, но когда дело доходит до японского или китайского это не удается. [Просто распадается на

Pregnant with twins 
, 
natural delivery or caesarean section is good 

]

он должен разделить на

Pregnant 
with 
twins 
natural 
delivery 
or 
caesarean 
section 
is 
good 

находится там путь в C#, чтобы сделать это.

, пожалуйста, дайте мне знать.

+0

если '怀 了 双胞胎, 顺 产 还是 剖腹产 比较 ​​好呢? [Беременный с близнецами, естественными родами или кесаревым сечением является хорошим]' это входной сигнал, что является ожидаемым результатом? – Damith

+0

не работает – Manish

+0

@ Запустите, каков ваш ожидаемый результат для японской/китайской части? –

ответ

0

В соответствии с вашим ответом на один из комментариев китайское предложение, о котором вы упомянули, имеет два слова. Поскольку слова разделены пробелом, данная строка «怀 了 双胞胎, 顺 产 还是 剖腹产 比较 ​​好呢» имеет символы юникода, но не может определить, что представляет собой символ разделителя. Но просто попытался обычным способом с тем разделителем, который присутствует в вашей строке. Скопировано и вставлено между символами слов. Это сработало.

string yourString = @"怀了双胞胎,顺产还是剖腹产比较好呢"; 

    string[] splitted = Regex.Split(yourString, ","); 

    foreach(string s in splitted) 
    { 
     textBox1.AppendText(s + "\n"); 
    } 

Я не уверен, что это работает для ваших других японских/китайских предложений.

0

Не на 100% уверен, но в традиционном китайском языке очень характер в китайском языке - это само слово, дайте попытку внизу, и если это сработает для вас.

string sentence = "怀了双胞胎,顺产还是剖腹产比较好呢?"; 
char[] chars = sentence.ToCharArray(); 
StringBuilder sb = new StringBuilder(); 
foreach (char s in chars) 
{ 
    sb.AppendLine(s.ToString()+"<br/>"); 
}