【发布时间】:2016-05-20 16:32:59
【问题描述】:
private void inputBox_KeyPress(object sender, KeyPressEventArgs e)
{
stringScan();
var regex1 = new Regex(@"[^+^\-^\b^\r\n]");
var regex2 = new Regex(@"[^0-9^+^\-^/^*^#^\b^\r\n]");
if (ListBox.Items.Count == 0 && string.IsNullOrWhiteSpace(inputBox.Text))
{
if (regex1.IsMatch(e.KeyChar.ToString()))
{
e.Handled = true;
toolTip1.Show("Plus or minus first then followed by numbers.", inputBox, 1500);
}
}
else
{
if (regex2.IsMatch(e.KeyChar.ToString()))
{
e.Handled = true;
}
}
}
public void stringScan()
{
char last_char = inputBox.ToString()[inputBox.ToString().Length - 1];
Console.WriteLine(last_char);
}
如何获取字符串的最后一个字母/数字?真的很难解释,所以我会展示一些截图。
输出应该显示“0”而不是“1”。 它总是显示“最后一个预览”,而不是我在文本框中输入的最新一个。
【问题讨论】:
-
试试
(?s).$........ -
在单行文本框中最后没有换行
-
myString[myString.Length-1]不返回最后一个字符吗?