从字符串的末尾提取数字

本文关键字:提取 数字 字符串 | 更新日期: 2023-09-27 18:03:45

我有一些字符串,如"pan1", "pan2"answers"pan20"等。我需要提取number。我用它:

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

但是在例如"pan20"的情况下,结果是不正确的0.

从字符串的末尾提取数字

索引方法

如果你知道数字的起始索引在哪里,那么你可以这样做:

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;

您可以使用例如正则表达式,例如[0-9]+$来获得最后的数字。