当前位置: 首页 > 编程语言 > C#

如何删除文本框中的小写字母?分享

时间:2023-04-10 17:27:44 C#

如何删除文本框中的小写字母?我正在尝试删除TextBox上的小写字母。例如,代表保险的短字母代码(例如,“BCBS”代表“BlueCrossBlueShield”):txtDesc.text="BlueCrossBlueShield";stringCode=//这一定是BCBS..这可能吗?请帮我。谢谢!然后你可以使用正则表达式删除所有不是大写AZ的东西:usingSystem;使用System.Text.RegularExpressions;classProgram{staticvoidMain(string[]args){stringinput="BlueCrossBlueShield12356";正则表达式regex=newRegex("[^AZ]");字符串输出=regex.Replace(input,"");控制台.WriteLine(输出);请注意,这也会删除任何非ASCII字符。另一个正则表达式是:Regexregex=newRegex(@"[^p{Lu}]");...我认为应该涵盖所有文化的大写字母。字符串代码=newString(txtDesc.text.Where(c=>IsUpper(c)).ToArray());这是我的变体:varinput="BlueCrossBlueShield12356";varsb=newStringBuilder();foreach(varchininput){if(char.IsUpper(ch)){//只保留大写sb.Append(ch);}}sb.ToString();//"BCBS"我通常喜欢使用正则表达式,但我不知道如何在没有[AZ]的情况下选择“仅大写”,这会对英文字母表以外的字符造成严重破坏(甚至其他拉丁字符!:-/)快乐编码。但是请参阅Skeet先生对正则表达式方式的回答;-)stringCode=Regex.Replace(txtDesc.text,"[az]","");我会将值映射到字典中的缩写,例如:DictionaryvalueMap=newDictionary();valueMap.Add("蓝十字蓝盾","BCBS");字符串代码="";如果(valueMap.ContainsKey(txtDesc.Text))代码=valueMap[txtDesc.Text];else//Handle但如果你仍然想要你提到的功能使用linq:stringnewString=newstring(txtDesc.Text.Where(c=>char.IsUpper(c).ToArray());你可以尝试使用'tolowercase字符替换为星号,但将“*”更改为“(空白),因此代码如下所示:txtDesc.Text="BlueCrossBlueShield";stringTargetString=txt.Desc.Text;stringMainString=TargetString;for(inti=0;noregexfori:stringinput="BlueCrossBlueShield";stringoutput=newstring(input.Where(Char.IsUpper).ToArray());Response.Write(output);字符串caps="ABCDEFGHIJKLMNOPQRSTUVWXYZ";string.Join("","BlueCrossBlueShield".Select(c=>caps.IndexOf(c)>-1?c.ToString():"").ToArray());我认为规范要求匹配所有单词中的第一个字符,而不是所有大写字母。这将允许不一致的输入,但从长远来看仍然是可靠的。出于这个原因,我建议使用以下代码。它对Regex对象的每个Match使用聚合,并将值附加到名为output的字符串对象。stringinput="BlueCrossBLUEshield12356";正则表达式regex=newRegex("\b\w");字符串输出=regex.Matches(input).Cast().Aggregate("",(current,match)=>current+match.Value);Console.WriteLine(output.ToUpper());//输出BCBS1字符串Code=Regex.Replace(txtDesc.text,"[az]","");它并不完美,但它应该可以工作(并通过您的BCBS测试):privatestaticstringAlphaCode(StringInput){ListcapLetter=newList();foreach(CharcinInput){if(char.IsLetter(c)){字符串字母=c。字符串();如果(字母==字母.ToUpper()){capLetter.Add(字母);}}}返回String.Join(String.Empty,capLetter.ToArray());这个版本将处理奇怪的输入方案(这确保每个单词的首字母大写)。以上就是C#学习教程:如何删除文本框中的小写字母?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注---privatestaticstringAlphaCode(StringInput){StringcapCase=System.Globalization.CultureInfo.CurrentCulture.文本信息。ToTitleCase(Input.ToString().ToLower());列表capLetter=newList();foreach(CharcincapCase){if(char.IsLetter(c)){字符串字母=c.ToString();如果(字母==字母.ToUpper()){capLetter.Add(字母);}}}返回String.Join(String.Empty,capLetter.ToArray());}本文收集自网络,不代表立场。如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处: