将具有组合/依赖字符的unicode字符串拆分在一起
本文关键字:unicode 字符串 拆分 在一起 字符 依赖 组合 | 更新日期: 2023-09-27 18:21:48
假设我有一个手镯串,就像"সাজানো".我需要把它分成"সা"জা"নো".我尝试过ToCharArray()方法,但它将以下字符串拆分为'স','া','জ','া','ন', 'ো'.
所以问题是,我想将一个字符串拆分为另一个字符串数组,其中包含组合/依赖字符。喜欢"সা"应与"সাজানো",不是单独的类似字符'স'和'া'.
这也有效:
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());
}
}