はじめに
こんにちは、バッテラです。
文字列全体を一括で大文字小文字に変換するにはstring.Replaceを使うとできましたが、
文字だけを変換したい場合はできなかったので、
調べて分かったことについて書いていきたいと思います。
環境
MacBook Pro (16-inch, 2019)
MacOS BigSur (11.4)
Visual Studio for Mac community (8.9.2)
N文字目を大文字に変換する方法
■流れ
1. stringをchar配列に変換する
2. 配列から1文字分のcharを取り出しToUpperで大文字に変える
3. その後char配列をstringに変換する
var str = "abc"; int index = 0; // char[]に変換 var _chars = str.ToCharArray(); // charのToUpperで1文字だけを大文字にする _chars[index] = char.ToUpper(_chars[index]); // char[]をstringに変換 str = new string(_chars);
index はN文字目を指します。
※1文字目は 0 を指定する必要があるので注意です
N文字目を小文字に変換する方法
大文字変換の時と同じ要領ですね。
char.ToLower を使う部分だけ変える形です。
var str = "ABC"; int index = 0; // char[]に変換 var _chars = str.ToCharArray(); // charのToUpperで1文字だけを小文字にする _chars[index] = char.ToLower(_chars[index]); // char[]をstringに変換 str = new string(_chars);