如何将字符串的单个字母转换为LowCase

时间:2013-10-27 22:27:55

标签: string stringbuilder lowercase

我想找到一种方法,只将字符串的特定字符转换为小写字母。

使用循环,因为我希望它是动态的,我尝试了以下内容:

例如在这种情况下,我希望无论我输入什么单词,“A”字符都会被放到小写字母中。

         String word = new String("YehAAA");
         String word2 = new String();

         int n;


         for (int i =0;i<word.length();i++){

         n = word.indexOf('A');
         word2 = word.substring(0,n)+'a'+word.substring(n+1);

         } 

我有一种感觉,问题在于字符串无法更改,这就是我必须创建一个新字符串的原因。但是它只能工作一次,之后我需要x个新的字符串。如果是这种情况,我将不得不了解StringBuilder,我只是想确保我的直觉是正确的,如果不是,我会很感激您的意见。

2 个答案:

答案 0 :(得分:0)

String word = new String("YehAAA");

//Convert string to char array.
char[] word2 = word.toCharArray();


for(int i = 0;i<word2.length;i++)
{
     if(word2[i] == `A')
     {
        word2[i] = 'a';
     }      
}

//convert char array to String.
String word3 = String.valueOf(word2);

System.out.println(word3);

答案 1 :(得分:0)

在c#中我可以这样写

 static void Main(string[] args)
        {
            Console.Write("Enter example strings: ");
            var input = Console.ReadLine();
            Console.Write("Enter character you want converted to lower case: ");
            var charToConvert = Console.ReadKey();
            string result = "";
            foreach (char charter in input)

            {
                if (char.ToLower(charter) == char.ToLower(charToConvert.KeyChar))
                    result += char.ToLower(charter);
                else
                    result += charter;
            }
            Console.WriteLine("\n");
            Console.WriteLine(result);
            Console.ReadLine();

        }
    }

输出:

enter image description here