C#中字符串中截取字母左边的数字方法

 我来答
OAngs
2012-09-21 · TA获得超过678个赞
知道小有建树答主
回答量:554
采纳率:66%
帮助的人:363万
展开全部

用正则表达式吧

更多追问追答
追问
是以数字开始的,例如‘10922S’这样的  就截取 10922  怎么写
追答
正则写法与上面相同,但是如果确定都是这种格式的话,使用 indexOf 配合 subString 来获取的话性能更高一些。  
只有最后一位是字母,那直接:

string a = "10922S";
string b = a.SubString(0,a.Length-1);

这样就行了~
真爱无限023
推荐于2016-08-10 · TA获得超过138个赞
知道小有建树答主
回答量:180
采纳率:0%
帮助的人:108万
展开全部
double db = 0;
string input = "a123.456abcdef"; //要截取的字符串
Match mc = Regex.Match(input, "\\d+(\\.\\d+){0,1}");
double.TryParse(mc.Groups[0].ToString(), out db);
Console.WriteLine(db);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wackyer
2012-09-21 · TA获得超过928个赞
知道小有建树答主
回答量:605
采纳率:71%
帮助的人:386万
展开全部
Regex.match(input, "^[0-9]+");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
龍过鸡年
2012-09-21 · TA获得超过311个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:369万
展开全部
能描述的再清楚一点吗?比如截取数字有位数限制吗?

可以使用正则 Regex.IsMatch 进行截取
追问
一共就两种  一种是‘1202S’ 和 ‘12034N’ 这样的   要截取S或N左边的数字方法,方法写的详细些好吗,太谢谢您了
追答
由于是特定应用,所以可以使用下面的方式进行转换 :

var inputText = "1202S";
var outputNumber = Convert.ToInt32(
inputText.Replace("S", "").Replace("N", ""));
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式