c# 用正则表达式得到指定的值
如字符串singfo.com/product/list63.html现需获得63这个值,如何写个函数过程,谢谢。list63并不固定只是两位数,也可能是list1,lis...
如字符串 singfo.com/product/list63.html
现需获得63这个值,如何写个函数过程,谢谢。
list63并不固定只是两位数,也可能是list1,list380,list6906等任意不同长度的数 展开
现需获得63这个值,如何写个函数过程,谢谢。
list63并不固定只是两位数,也可能是list1,list380,list6906等任意不同长度的数 展开
展开全部
string a = "singfo.com/product/list63.html";
string b = a.Substring(a.IndexOf("63"),"63".Length) .ToString();
string b = a.Substring(a.IndexOf("63"),"63".Length) .ToString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public static int GetNum(string s)
{
Regex r = new Regex("(?<num>\\d+)\\.html");
Match m = r.Match(s);
if (m.Success)
{
return Convert.ToInt32(m.Groups["num"].Value);
}
throw new ArgumentException("没有匹配的数字!");
}
{
Regex r = new Regex("(?<num>\\d+)\\.html");
Match m = r.Match(s);
if (m.Success)
{
return Convert.ToInt32(m.Groups["num"].Value);
}
throw new ArgumentException("没有匹配的数字!");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
substring(a,a.Indexof(b),b.Length)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用正则方法提取:
string strHTML = @"singfo.com/product/list63453.html";
string pattern = @"list\d*\.html$";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
string outString = "";
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(strHTML);
if (mc.Count > 0)
{
foreach (System.Text.RegularExpressions.Match m in mc)
{
outString = m.Value.ToString();
}
}
outString = outString.Replace("list", "").Replace(".html", "");
MessageBox.Show(outString);
string strHTML = @"singfo.com/product/list63453.html";
string pattern = @"list\d*\.html$";
System.Text.RegularExpressions.Regex reg = new System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.IgnoreCase);
string outString = "";
System.Text.RegularExpressions.MatchCollection mc = reg.Matches(strHTML);
if (mc.Count > 0)
{
foreach (System.Text.RegularExpressions.Match m in mc)
{
outString = m.Value.ToString();
}
}
outString = outString.Replace("list", "").Replace(".html", "");
MessageBox.Show(outString);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
list前面的是固定的?
追答
public int GetListInt(string str) {
//singfo.com/product/ list
str = str.ToLower();
str = str.Substring(str.IndexOf("singfo.com"));
string str2 = "0";
if (str.Length > 28) {
str2= str.Substring(23, str.Length - 28);
int a = 0;
if (!int.TryParse(str2,out a)) {
str2 = "0";
}
}
return Convert.ToInt32(str2);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询