将多语言字符串拆分为单词c#

时间:2013-05-08 03:07:29

标签: c# regex multilingual string-split

我正在使用return Regex.Split(s, @"\W")将字符串拆分为单词。

我输入的字符串是怀了双胞胎,顺产还是剖腹产比较好呢?[怀有双胞胎,自然分娩或剖腹产很好]。

它适用于英语,但是当涉及到日语或中文时,它就失败了。[只是分成了

Pregnant with twins
,
natural delivery or caesarean section is good

它应分成

Pregnant 
with 
twins
natural 
delivery 
or 
caesarean
section 
is 
good

在c#中有没有办法做到这一点。

请告诉我。

2 个答案:

答案 0 :(得分:0)

根据您对其中一条评论的回复,您提到的中文句子有两个字。由于单词由空格分隔,给定的字符串“怀了双胞胎,顺产还是剖腹产比较好呢”具有unicode字符,但无法识别该分隔符是什么。但只是以通常的方式尝试使用字符串中的分隔符。复制并粘贴在单词之间。它奏效了。

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

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

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

我不确定它是否适用于您的其他日语/中文句子。

答案 1 :(得分:0)

不是100%肯定,但在繁体中文中,中文非常简洁,如果它对您有用,请在下面试一试。

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