C# で名前のフィールドを検証したい。私の目的は、名前と姓の最初の文字を大文字にし、前置詞 (私の言語では名前に「de」、「da」、「dos」などの前置詞があります) を小文字のままにすることです。私は何かを作りましたが、問題は私がReplace()を使用していることです。名前が「l」で始まる場合、すべての「l」が大きくなります。次に例を示します。
「Lake Like de LoL」は「Lake Like de LoL」になります。
プライベート文字列名;
public string Nome
{
get { return nome; }
set
{
value = value.ToLower();
value = value.Replace(value[0].ToString(), value[0].ToString().ToUpper());
for (int i = 0; i < value.Length; i++)
{
if (value[i].ToString() == " " && String.Concat(value[i + 1], value[i + 2], value[i + 3]) != "de " && String.Concat(value[i + 1], value[i + 2], value[i + 3]) != "da " && String.Concat(value[i + 1], value[i + 2], value[i + 3]) != "dos " && String.Concat(value[i + 1], value[i + 2], value[i + 3]) != "das " && String.Concat(value[i + 1], value[i + 2], value[i + 3]) != " ")
{
value = value.Replace(value[i + 1].ToString(), value[i + 1].ToString().ToUpper());
}
}
nome = value;
}
}
誰かがこれに対する解決策を知っていますか? ありがとう、下手な英語でごめんなさい!