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

在LINQPad中实现文本特殊大写规则:短单词全大写,其余首字母大写

解决方案:文本单词大小写规范化处理

直接上适配LINQPad的完整实现代码,完全满足你对文本文件的大小写转换需求:

// 读取原文件内容
var textFile = File.ReadAllText(@"C:\...\...\...\...\uppercase.txt");

// 按行处理,保留原文本的换行结构
var processedLines = textFile.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries)
    .Select(line => 
        string.Join(" ", 
            line.Split(' ', StringSplitOptions.RemoveEmptyEntries)
                .Select(word => 
                    word.Length <= 3 
                        ? word.ToUpperInvariant() 
                        : char.ToUpperInvariant(word[0]) + word.Substring(1).ToLowerInvariant())));

var processedText = string.Join(Environment.NewLine, processedLines);

// LINQPad中直接输出处理结果
processedText.Dump();

// 可选:将处理后的内容写入新文件(或覆盖原文件)
// File.WriteAllText(@"C:\...\...\...\...\processed_uppercase.txt", processedText);

代码细节说明

  1. 保留换行结构:先按换行符拆分文本为独立行,处理每行后再拼接回多行文本,完全匹配你的示例输入输出格式
  2. 单词处理规则:
    • 长度≤3的单词:直接转为全大写(用ToUpperInvariant避免不同区域文化的大小写转换差异)
    • 长度>3的单词:首字母转大写,剩余字母统一转为小写,保证格式一致性
  3. 清理空白内容:拆分时使用StringSplitOptions.RemoveEmptyEntries,自动过滤连续空格或换行产生的空字符串,输出更整洁

关键注意点

优先使用ToUpperInvariant和ToLowerInvariant而非普通的ToUpper/ToLower,避免因系统区域文化设置(比如土耳其语的字母转换规则)导致的异常转换结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:05:22