修剪最后一个字符,如果不是数字

Ven*_*uru 3 c#

我试图从字符串中删除最后一个字符,如果不是数字例如:"2 + 3-4*"从那里最后astrik需要修剪,因为它不是数字我的结果应该是"2+ 3-4" .如果用户输入"2 + 3 + 8",则不需要修剪,因为最后一个是数字.

EJo*_*ica 6

你可以使用这个表达式:[^0-9]$以确定最后一个字符是什么其他的比数.如果正则表达式匹配,只需删除最后一个字符.

string a = "abc";
if (Regex.IsMatch(a, "[^0-9]$"))
{
  a = a.Remove(a.Length - 1);
}
Run Code Online (Sandbox Code Playgroud)

  • @MatíasFidemraizer - 我不明白你的最后一句话.根据问题,它只应该删除一个非数字字符. (2认同)

小智 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)