将具有组合/依赖字符的unicode字符串拆分在一起

本文关键字:unicode 字符串 拆分 在一起 字符 依赖 组合 | 更新日期: 2023-09-27 18:21:48

假设我有一个手镯串,就像"সাজানো".我需要把它分成"সা"জা"নো".我尝试过ToCharArray()方法,但它将以下字符串拆分为'স','া','জ','া','ন', 'ো'.

所以问题是,我想将一个字符串拆分为另一个字符串数组,其中包含组合/依赖字符。喜欢"সা"应与"সাজানো",不是单独的类似字符'স'和'া'.

将具有组合/依赖字符的unicode字符串拆分在一起

这也有效:

string text = "সাজানো";
var textCharArray = text.ToCharArray();
var tokens = new List<string>();
for (int i = 0; i < textCharArray.Length; i++)
{
    char c = textCharArray[i];
    if (char.GetUnicodeCategory(c) == System.Globalization.UnicodeCategory.SpacingCombiningMark)
    {
        string token = $"{tokens.Last()}{c}";
        tokens.RemoveAt(tokens.Count() - 1);
        tokens.Add(token);
    }
    else
    {
        tokens.Add($"{c}");
    }
}
foreach (string token in tokens) 
    Console.WriteLine(token);

代码有点草率。太晚了。

如果你正在使用代孕,你也可以测试代孕。

试试这个:

string[] SplitString(string S)
{
    return S.Split('া');
}
private void button1_Click(object sender, EventArgs e)
{
    string B = "সাজানো";
    var vv = SplitString(B);
    foreach (var item in vv)
    {
        MessageBox.Show(item.ToString());
    }
}