C# 正则表达式获取字符串
例如,stringa="苹果的价格是4000元";我要获取4000stringb="百度一下123qwe你就知道";我要获取123qwe求解,麻烦简单说明一下获取规则。s...
例如,string a="苹果的价格是4000元"; 我要获取 4000
string b="百度一下123qwe你就知道"; 我要获取 123qwe
求解,麻烦简单说明一下获取规则。
string a="爱上的沙发上地方100元";
var priceRegex = new Regex(@"(?<aa>[\d\.]+)*元");
if (priceRegex.IsMatch(a))
{
Match m = priceRegex.Match(a);
Console.WriteLine(m.Groups["aa"].Value);
}
结果是100 为什么会有个<aa>? 展开
string b="百度一下123qwe你就知道"; 我要获取 123qwe
求解,麻烦简单说明一下获取规则。
string a="爱上的沙发上地方100元";
var priceRegex = new Regex(@"(?<aa>[\d\.]+)*元");
if (priceRegex.IsMatch(a))
{
Match m = priceRegex.Match(a);
Console.WriteLine(m.Groups["aa"].Value);
}
结果是100 为什么会有个<aa>? 展开
展开全部
很明显 你只获得字母和数字
public static void Main(string[] args)
{
string input = "百度一下123qwe你就知道";
string pattern = "[0-9A-Za-z]{1,}";//是字母或数字 至少出现一次
System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(pattern);
System.Text.RegularExpressions.MatchCollection mc = regex.Matches(input);
for (int i = 0; i < mc.Count; i++)
{
Console.WriteLine(mc[i].Value);
}
Console.ReadLine();
}
更多追问追答
追问
求解,麻烦简单说明一下获取规则。
追答
关键是正则表达式pattern样式的写法
学好正则表达式是个长期的过程 我也只是会基本的。
你可以参考《正则表达式详解》一书
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
protected string GetSubStr(string Str)
{
Match m = Regex.Match(Str, "[^\x00-\xff]*([a-zA-Z0-9]+)[^\x00-\xff]*");
if (m.Groups.Count > 1)
{
return m.Groups[1].Value;
}
else return "";
}
特意给你写了个方法 ,返回值就是你想要的,如果匹配不成功返回空值。
记得加上引用
using System.Text.RegularExpressions;
更多追问追答
追问
假如a="苹果的价格是4000元我买1个"; 我要获取 4000,b="百度一下123你就知道454手动";我要获取123, 怎么做?
追答
就用这个方法呀,一样通用,也是返回你要的。你可以测试下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/^d/
代表所有数字
/^123[qwe]
获取123开头的qwe
代表所有数字
/^123[qwe]
获取123开头的qwe
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询