我试图从字符串中删除最后一个字符,如果不是数字例如:"2 + 3-4*"从那里最后astrik需要修剪,因为它不是数字我的结果应该是"2+ 3-4" .如果用户输入"2 + 3 + 8",则不需要修剪,因为最后一个是数字.
你可以使用这个表达式:[^0-9]$以确定最后一个字符是什么其他的比数.如果正则表达式匹配,只需删除最后一个字符.
string a = "abc";
if (Regex.IsMatch(a, "[^0-9]$"))
{
a = a.Remove(a.Length - 1);
}
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用以下代码段检查最后一个char是否为数字:
例如:
string value = "4+8-4*";
int outInt = 0;
bool isLastCharNumeric = int.TryParse(value[value.Length - 1].ToString(), out outInt);
if (!isLastCharNumeric)
{
//chop off the last char
value = value.Remove(value.Length - 1;);
}
Run Code Online (Sandbox Code Playgroud)