如何重复执行Split方法以按每3组拆分跨换行文本?
解决方法
你当前的代码仅完成单次拆分,要循环处理所有三组关联内容,可按以下步骤实现:
- 读取整个文本内容,按逗号分割成所有有效片段(自动过滤空条目)
- 以每3个片段为一组循环处理,清理每个片段的前后空白(包括换行、空格)
- 输出每组的三个部分
完整代码示例
using System; using System.IO; class Program { static void Main(string[] args) { string fullPath = @"你的文件路径.txt"; // 读取全部文本内容 string fullText = File.ReadAllText(fullPath); // 按逗号分割,移除空片段(避免换行、空格导致的无效条目) string[] allParts = fullText.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries); // 每3个片段为一组循环处理 for (int i = 0; i < allParts.Length; i += 3) { // 检查剩余片段是否足够组成完整一组,不足则终止循环 if (i + 2 >= allParts.Length) break; // 清理每个片段前后的空白字符(换行、空格、制表符等) string part1 = allParts[i].Trim(); string part2 = allParts[i + 1].Trim(); string part3 = allParts[i + 2].Trim(); // 按要求格式输出每组内容 Console.WriteLine($"\"{part1}\"、\"{part2}\"、\"{part3}\""); // 可选:添加组分隔线,提升可读性 Console.WriteLine("---"); } } }
补充说明
StringSplitOptions.RemoveEmptyEntries参数会自动过滤因换行、连续空格产生的空分割片段,确保只处理有效内容Trim()仅清除每个片段前后的空白字符,片段内部的换行或空格会被保留;若需要将内部换行替换为空格,可对part3使用Replace(Environment.NewLine, " ")- 若文本末尾存在不足3个的片段,代码会自动跳过,避免索引越界
内容的提问来源于stack exchange,提问作者tsfdf T76
相关产品推荐
相关产品推荐

