0

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

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

例如,在这种情况下,我希望对于我输入的任何单词,只有“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,我只是想确保我的直觉是正确的,如果不是,我将不胜感激您的意见。

4

2 回答 2

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);
于 2013-10-27T22:47:12.167 回答
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();

        }
    }

输出:

在此处输入图像描述

于 2013-10-27T23:11:51.927 回答