You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何将锯齿数组中的短语拆分后复制到另一个锯齿数组

解决方案:将短语锯齿数组拆分为单词锯齿数组

实现代码

在你现有拆分句子到短语的代码基础上,添加以下逻辑即可完成短语到单词的拆分:

// 初始化存储单词的锯齿数组,外层长度与phrases一致
string[][] words = new string[phrases.Length][];
// 定义拆分单词的分隔符(这里用空格,可按需调整)
char[] wordSeparator = { ' ' };

for (int i = 0; i < phrases.Length; i++)
{
    // 用临时列表动态收集当前句子的所有单词
    List<string> currentWords = new List<string>();
    
    // 遍历当前句子下的每个短语
    foreach (string phrase in phrases[i])
    {
        // 拆分短语为单词,同时移除空字符串(避免空格导致的无效元素)
        string[] splitWords = phrase.Split(wordSeparator, StringSplitOptions.RemoveEmptyEntries);
        currentWords.AddRange(splitWords);
    }
    
    // 将列表转为数组,存入锯齿数组对应位置
    words[i] = currentWords.ToArray();
}

关键说明

  • 锯齿数组初始化:words的外层长度和phrases保持一致,确保每个原句子对应的单词组能准确对应存储。
  • 处理空元素:使用StringSplitOptions.RemoveEmptyEntries可以过滤掉短语前后空格、连续空格产生的空字符串,保证结果的整洁性。
  • 临时列表过渡:由于每个句子对应的单词数量不固定,用List<string>动态收集单词比直接固定数组长度更灵活,避免出现数组容量不足或空间浪费的问题。

完整整合示例

如果把拆分句子到短语、再拆分短语到单词的逻辑整合,完整代码如下:

string[] sentences = { "Hello, world: this is a test", "Another phrase: split into words" };
string[][] phrases;
string[][] words;

// 第一步:拆分句子为短语
{
    phrases = new string[sentences.Length][];
    char[] charRemover = { ',', ':' };

    for (int i = 0; i < sentences.Length; i++)
    {
        phrases[i] = sentences[i].Split(charRemover);
    }
}

// 第二步:拆分短语为单词
{
    words = new string[phrases.Length][];
    char[] wordSeparator = { ' ' };

    for (int i = 0; i < phrases.Length; i++)
    {
        List<string> currentWords = new List<string>();
        foreach (string phrase in phrases[i])
        {
            string[] splitWords = phrase.Split(wordSeparator, StringSplitOptions.RemoveEmptyEntries);
            currentWords.AddRange(splitWords);
        }
        words[i] = currentWords.ToArray();
    }
}

// 测试输出(可选)
for (int i = 0; i < words.Length; i++)
{
    Console.WriteLine($"句子{i+1}的单词:");
    foreach (string word in words[i])
    {
        Console.WriteLine($" - {word}");
    }
}

内容的提问来源于stack exchange,提问作者Volodymyr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:25:33