c# - 用大写替换中间字母
问题描述
有下面的代码,它有一个函数,可以找到单词中间的字母(1或2个字符)并将它们变成大写,然后输出。
using System;
public class Program
{
public static void Main()
{
Console.WriteLine(test("Rofl"));
Console.WriteLine(test("Camel"));
Console.WriteLine(test("R"));
}
public static String test(string value) {
return value.Length % 2 == 0
? value.Substring(value.Length / 2 - 1, 2).ToUpper()
: value.Substring(value.Length / 2, 1).ToUpper();
}
}
请告诉我,我怎样才能使单词完全派生,但中间的字母完全被大写字母取代?
有必要这样:
ROFl
CaMel
R
解决方案
像这样的东西?不是最干净的方法。
public static string test(string value)
{
if(string.IsNullOrEmpty(value)) return value;
var array = value.ToCharArray();
if (value.Length % 2 == 0)
{
array[value.Length / 2 - 1] = Char.ToUpper(array[value.Length / 2 - 1]);
array[value.Length / 2] = Char.ToUpper(array[value.Length / 2]);
}
else
{
array[value.Length / 2] = Char.ToUpper(value[value.Length / 2]);
}
return new string(array);
}
推荐阅读
- java - 选择所有具有匹配列名的表
- python - 在Python中将非固定键json转换为csv文件
- google-apps-script - 谷歌表格脚本getRange参数问题
- ios - 崩溃:com.apple.root.utility-qos EXC_BAD_ACCESS KERN_INVALID_ADDRESS
- powershell - 一次从注册表中查询多个条目(使用 reg 查询)
- email - Cakephp 3.8 - “默认”传输配置不存在
- javascript - 使用方形销售点 API 在 ios 中的移动 Web 上回调。它得到错误说 Uncaught Typeerror - cannot read property 'get' of undefined
- .htaccess - 使用 .htaccess 强制子域/CNAME 重定向到 HTTPS
- javascript - 如何将一个对象的值复制到另一个对象的键中?
- c# - VSTHRD010:访问项目只能在主线程上完成