我正在为学校做作业,其中包括在字符串中替换除A,a,S,s,N,n之外的所有字母。
到目前为止,我想出了如何替换这些字母,这与作业相反。
有人可以帮忙吗?
这就是我所拥有的。
hsText = GetComponent <GUIText> ();
hsText.text = hs_get.text;
但是再次......上面的内容与我的任务相反
这里我有一个类似的项目,但这取代了@
的所有内容string texti = null;
Console.WriteLine ("");
Console.WriteLine ("Put in your sentence ..");
texti = Console.ReadLine();
Console.WriteLine ("You entered the following ..");
Console.WriteLine (texti);
texti = texti.Replace ("a", "*").Replace ("A", "*").Replace ("s", "*").Replace ("S", "*").Replace ("N", "*").Replace ("n", "*");
Console.WriteLine ("Your new text");
Console.WriteLine (texti);
答案 0 :(得分:1)
您可以使用LINQ:
activeTab = new ReactiveVar('nt1'); //Your default tab
Template.display.helpers({
activeTab: function(tab){
return (activeTab.get() == tab);
});
Template.tabs.events({
'click #nt1': function(){
activeTab.set('nt1');
},
'click #nt2': function(){
activeTab.set('nt2');
},
'click #nt3': function(){
activeTab.set('nt3');
}
});
答案 1 :(得分:1)
使用一个简单的循环来构建一个新字符串。但经过一些检查和修改。
string text = Console.ReadLine();
string newText = "";
string ommit = "AaSsNn"; // should not remove these.
for (int i = 0; i < text.Length; i++)
{
if (ommit.Contains(text[i])) // if character exist in ommit.
{
newText += text[i]; // put the original
}
else
{
newText += "*"; // replace
}
}
您可以使用更长的条件,而不是使用ommit
之类的字符串。
if(text[i].ToString().ToUpper() == "A" ||
text[i].ToString().ToUpper() == "S" ||
text[i].ToString().ToUpper() == "N")
答案 2 :(得分:0)
string texti = string.Empty;
Console.WriteLine("");
Console.WriteLine("Put in your sentence ..");
texti = Console.ReadLine();
Console.WriteLine("You entered the following ..");
Console.WriteLine(texti);
foreach (char str in texti)
{
switch (str)
{
case 'A':
case 'a':
case 'S':
case 's':
case 'N':
case 'n':
{
break;
}
default:
{
texti = texti.Replace(str, '*');
break;
}
}
}
Console.WriteLine("Your new text");
Console.WriteLine(texti);