gpt4 book ai didi

c# - ToTitleCase() 方法不适用于特殊字符

转载 作者:太空宇宙 更新时间:2023-11-03 22:28:51 24 4
gpt4 key购买 nike

我有一个需要转换的字符串,以便将第一个字符转换为大写。使用 ToTitleCase 方法,它工作正常,但有特殊字符的情况除外。

下面是代码和预期结果

String textToConvert= "TEST^S CHECK"
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
return myTI.ToTitleCase(textToConvert.ToLower())

预期结果:Test^s Check但是结果是 Test^S Check with "S"converted to capital after special character ^

有没有办法将转换更改为预期结果

最佳答案

ToTitleCase是一种方便的方法,但如果您需要更细粒度的控制,Regex 可能是更好的选择:

string titleCase = Regex.Replace(textToConvert.ToLower(), @"^[a-z]|(?<= )[a-z]",
match => match.Value.ToUpper());

^[a-z]|(?<=\s)[a-z]将匹配字符串开头的字母,以及前面有空格(空格、制表符或换行符)的字母。

关于c# - ToTitleCase() 方法不适用于特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59247893/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com