我想找到一种方法,只将字符串的特定字符转换为小写字母。
使用循环,因为我希望它是动态的,我尝试了以下内容:
例如在这种情况下,我希望无论我输入什么单词,“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,我只是想确保我的直觉是正确的,如果不是,我会很感激您的意见。
答案 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();
}
}
输出: