从字符串末尾提取数字

时间:2014-05-17 20:53:33

标签: c#

我有一些字符串,如" pan1"," pan2"和" pan20"我需要提取数字。我用它了:

char ch = s[(s.Length) - 1];
int n = Convert.ToInt32(Char.GetNumericValue(ch));

但是,例如," pan20"结果不正确0。

2 个答案:

答案 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