更换星级小写字符 [英] Replace lowercase characters with star
本文介绍了更换星级小写字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我写了一个代码替换小写字符*。
,但它不工作。
哪里出了问题?
私人无效CharacterReplacement()
{
Console.WriteLine (输入一个字符串置换:);
串TargetString =到Console.ReadLine();
串MainString = TargetString;
的for(int i = 0; I< TargetString.Length;我++)
{
如果(char.IsLower(TargetString [I]))
{
TargetString.Replace(TargetString [I]中,*);
}
}
Console.WriteLine(字符串{0}转换为{1},MainString,TargetString);
}
解决方案
替换()
返回一个新字符串,所以你需要将其重新分配给 TargetString
:
TargetString = TargetString.Replace(TargetString [我],'*');
另一种方式来表达你打算将与LINQ的 - 不知道,我更喜欢,这避免了所有临时字符串,但是还有其他开销:
TargetString =新的字符串(TargetString.Select(C => char.IsLower(三)'*':三)
.ToArray());
i wrote a code for replacing lowercase characters to *. but it does not work. where is the problem?
private void CharacterReplacement()
{
Console.WriteLine("Enter a string to replacement : ");
string TargetString = Console.ReadLine();
string MainString = TargetString;
for (int i = 0; i < TargetString.Length; i++)
{
if (char.IsLower(TargetString[i]))
{
TargetString.Replace(TargetString[i], '*');
}
}
Console.WriteLine("The string {0} has converted to {1}", MainString, TargetString);
}
解决方案
Replace()
returns a new string, so you need to re-assign it to TargetString
:
TargetString = TargetString.Replace(TargetString[i], '*');
Another way to express your intend would be with Linq - not sure which I like better, this avoids all the temporary strings but has other overhead:
TargetString = new string(TargetString.Select(c => char.IsLower(c) ? '*' : c)
.ToArray());
这篇关于更换星级小写字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文