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

C#读取TXT文件如何按'('、')'将每个字符分割为单独新行

问题原因
  • 原有代码使用,作为分隔符拆分字符串,但目标TXT文件中不存在逗号,完全由(、)两种字符组成,拆分逻辑和实际需求完全不匹配
  • 你需要的是每个括号单独占一行,不需要按行或者按特殊分隔符拆分,直接遍历字符串的每个字符处理即可
正确实现代码

如果你只是需要将每个括号输出为单独一行,可以用以下代码:

class ReadFromFile
{
    static void Main(string[] args)
    {
        // 直接读取整个文件的所有内容,不需要按行拆分
        string fileContent = System.IO.File.ReadAllText(@"C:\Users\filip\Desktop\String.txt");
        // 遍历每个字符,符合要求的括号单独输出一行
        foreach (char c in fileContent)
        {
            // 该判断可过滤文件中可能存在的换行、空格等多余字符,确认文件只有括号可去掉
            if (c == '(' || c == ')')
            {
                Console.WriteLine(c);
            }
        }
    }
}

如果你需要将解析后的元素存入集合方便后续遍历处理,可以用以下版本:

class ReadFromFile
{
    static void Main(string[] args)
    {
        string fileContent = System.IO.File.ReadAllText(@"C:\Users\filip\Desktop\String.txt");
        // 定义集合存储所有括号元素,后续直接遍历该集合即可
        List<char> bracketList = new List<char>();
        foreach (char c in fileContent)
        {
            if (c == '(' || c == ')')
            {
                bracketList.Add(c);
                Console.WriteLine(c);
            }
        }
    }
}
代码说明
  • 用ReadAllText直接读取整个文件内容,避免逐行读取的额外循环开销
  • 直接遍历字符串的每一位字符,处理逻辑完全匹配“每遇到一个(或)就生成一个新行”的需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 01:45:03