C#获取字符串中指定字符

有一个字符串,stringstr1="00001008";我如果要获取1008,该怎么做呢,不能指定前面是几位,有可能前面有4,5,6个0也没准。。。从不等于0的那位开始... 有一个字符串,string str1 = "00001008";
我如果要获取1008,该怎么做呢,不能指定前面是几位,
有可能前面有4,5,6个0也没准。。。
从不等于0的那位开始计算,该如何是好?
我不是非要把它转化成数字,而是要截取“以非0字符串开始以及之后的字符串”
展开
 我来答
狐狸的人生
2010-07-17 · 超过10用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:0
展开全部
int a = 0;
string str1 = "00001008";
for (int i= 1; i <= str1.Length; i++)
{
string b = str1.Substring(i - 1, 1);
a = i;
if (b!="0")
{
break;
}
}
string newStr = str1.Substring(a - 1, str1.Length-a+1);

newStr就是你要的字符串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
202261256487e6a
2010-07-17 · TA获得超过481个赞
知道小有建树答主
回答量:795
采纳率:0%
帮助的人:692万
展开全部
string str1 = "00001008";
int paseValue=0;
int.TryPase(str1,out paseValue);//将字符串转为数字,转为数字之后前面的0就不存在了
paseValue.ToString();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aino77
2010-07-17 · TA获得超过920个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:289万
展开全部
这个,还真的只能用正则表达式来做了.

using System.Text.RegularExpressions;

public static decimal GetNumber(string str)
{
decimal result = 0;
if (str != null && str != string.Empty)
{
// 剔除非数字字符(不包含小数点)
str = Regex.Replace(str, @"[^\d.\d]", "");

// 如果是数字,则转换为decimal类型
if (Regex.IsMatch(str, @"^[+-]?\d*[.]?\d*$"))
{
result = decimal.Parse(str);
}
}

return result;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式