我有一些字符串,如" pan1"," pan2"和" pan20"我需要提取数字。我用它了:
char ch = s[(s.Length) - 1];
int n = Convert.ToInt32(Char.GetNumericValue(ch));
但是,例如," pan20"结果不正确0。
答案 0 :(得分:2)
如果您知道数字的起始索引在哪里,那么您只需执行此操作:
string str = "pan20";
int number = Convert.ToInt32(str.Substring(3));
请注意" 3"是数字的起始索引。
尝试删除" pan"从字符串;像这样
string str = "pan20";
int number = Convert.ToInt32(str.Replace("pan", ""));
仅当字符串包含
中的未确定文本时才使用正则表达式string str = "pan20";
int number = Convert.ToInt32(System.Text.RegularExpressions.Regex.Match(str, @"\d+").Value;
答案 1 :(得分:1)
您可以使用例如正则表达式,例如[0-9]+$
来获取最后的数字。请参阅Regex class in MSDN。