C#获取字符串中指定字符
有一个字符串,stringstr1="00001008";我如果要获取1008,该怎么做呢,不能指定前面是几位,有可能前面有4,5,6个0也没准。。。从不等于0的那位开始...
有一个字符串,string str1 = "00001008";
我如果要获取1008,该怎么做呢,不能指定前面是几位,
有可能前面有4,5,6个0也没准。。。
从不等于0的那位开始计算,该如何是好?
我不是非要把它转化成数字,而是要截取“以非0字符串开始以及之后的字符串” 展开
我如果要获取1008,该怎么做呢,不能指定前面是几位,
有可能前面有4,5,6个0也没准。。。
从不等于0的那位开始计算,该如何是好?
我不是非要把它转化成数字,而是要截取“以非0字符串开始以及之后的字符串” 展开
3个回答
展开全部
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就是你要的字符串
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就是你要的字符串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string str1 = "00001008";
int paseValue=0;
int.TryPase(str1,out paseValue);//将字符串转为数字,转为数字之后前面的0就不存在了
paseValue.ToString();
int paseValue=0;
int.TryPase(str1,out paseValue);//将字符串转为数字,转为数字之后前面的0就不存在了
paseValue.ToString();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个,还真的只能用正则表达式来做了.
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;
}
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询