我正在尝试删除TextBox
上的小写字母..
例如,表示保险的简短alpha代码(例如,'BCBS‘代表'Blue Cross Blue Shield'):
txtDesc.text = "Blue Cross Blue Shield";
string Code = //This must be BCBS..
有可能吗?请帮帮我。谢谢!
发布于 2011-05-23 13:58:17
string Code = new String(txtDesc.text.Where(c => IsUpper(c)).ToArray());
发布于 2011-05-23 13:59:34
您可以尝试使用'Replace lowercase characters with star‘实现,但将'*’更改为'‘(空白)
所以代码应该是这样的:
txtDesc.Text = "Blue Cross Blue Shield";
string TargetString = txt.Desc.Text;
string MainString = TargetString;
for (int i = 0; i < TargetString.Length; i++)
{
if (char.IsLower(TargetString[i]))
{
TargetString = TargetString.Replace( TargetString[ i ].ToString(), string.Empty );
}
}
Console.WriteLine("The string {0} has converted to {1}", MainString, TargetString);
发布于 2011-05-23 14:00:15
我会将值映射到字典中的缩写,如下所示:
Dictionary<string, string> valueMap = new Dictionary<string, string>();
valueMap.Add("Blue Cross Blue Shield", "BCBS");
string Code = "";
if(valueMap.ContainsKey(txtDesc.Text))
Code = valueMap[txtDesc.Text];
else
// Handle
但是,如果您仍然需要您提到的功能,请使用linq:
string newString = new string(txtDesc.Text.Where(c => char.IsUpper(c).ToArray());
https://stackoverflow.com/questions/6093330
复制相似问题