在一个字符串里面按照位置查找一个数字的正则表达式怎么写在一个字符串里面按照位置查找一个数字的正则表达式怎么写
在一个字符串里面按照位置查找一个数字的正则表达式如何写,
我想写一个方法,比如说有一个字符串A,还有一个我想查找的字符串B
我现在要在 A 中查找 第 n 个 B 之后的第 m 个数字,然后把这个数字按照string类型返
回,这个方法该怎么写呢,,,,,,,,
------解决方案--------------------------------------------------------
C# code
string tempStr = @ aaabbb...
在一个字符串里面按照位置查找一个数字的正则表达式怎么写
在一个字符串里面按照位置查找一个数字的正则表达式如何写,
我想写一个方法,比如说有一个字符串A,还有一个我想查找的字符串B
我现在要在 A 中查找 第 n 个 B 之后的第 m 个数字,然后把这个数字按照string类型返
回,这个方法该怎么写呢,,,,,,,,
------解决
--------------------------------------------------------
C# code
string tempStr = @ aaabbbcccaaagggaaa123456789 ;
string pattern = @ (? =([\s\S]*aaa){3}[\s\S]{7}). ;//aaa相当于字符串
B 3相当于n 7相当于m+1
MatchCollection mc = Regex.Matches(tempStr, pattern, RegexOptions.Multiline|RegexOptions.IgnoreCase);
for (int i = 0; i mc.Count; i++)
{
string ss = mc[i].Value;//得到8
//string ss = mc[i].Groups[ id ].Value;
//string text = mc[i].Groups[ text ].Value;//
}
------解决方案--------------------------------------------------------
C# code
string str = 122bbbbb12345 ;
string regex_str = @ [b]{5}[\d]{5} ;//5个b后面的第5个数字
Regex r = new Regex(regex_str); // 定义一个Regex对象实例
Match m = r.Match(str); // 在字符串中匹配
Console.WriteLine(str[m.Index + 9]);//m.Index表示匹配这个字串的位置,str[m.Index + 9]就是这第五个数字
------解决方案--------------------------------------------------------
C# code
public string getFifthDigit(string s)
{
string regex_str = @ [b]{5}[\d]{5} ;//5个b后面的第5个数字
Regex r = new Regex(regex_str); // 定义一个Regex对象实例
Match m = r.Match(s); // 在字符串中匹配
return str[m.Index + 9];//m.Index表示匹配这个字串的位置,str[m.Index + 9]就是这第五个数字
}
------解决方案--------------------------------------------------------
C# code
public string getFifthDigit(string str)
{
string regex_str = @ [b]{5}[\d]{5} ;//5个b后面的第5个数字
Regex r = new Regex(regex_str); // 定义一个Regex对象实例
Match m = r.Match(str); // 在字符串中匹配
return str[m.Index + 9];//m.Index表示匹配这个字串的位置,str[m.Index + 9]就是这第
五个数字
}
------解决方案--------------------------------------------------------
两个例子,index是要找的第几个数,例如第2个数为-7.0,第7个数-7.0
strIndex为第几个bb或aa
C# code
string A = a bb 1 bb 1 2 bb 1 -7.0 3 cc 1 cc 1 2 cc 1 2 3 ;
string B = bb ;
int index = 2;
int strIndex = 3;
Regex reg = new Regex(string.Format(@
(?:\s{0}(?:\s[\d.-]*)*){{{1}}}\s{0}(\s[\d.-]+)+ , B, strIndex - 1));
Console.WriteLine(reg.Match(A).Groups[1].Captures[index - 1].Value); ================================================================================
A = a aa aa aa aa aa aa 0.1 0.2 -0.3 4 5 6.0 -7.0 ;
B = aa ;
index = 7;
strIndex = 5;
reg = new Regex(string.Format(@
(?:\s{0}(?:\s[\d.-]*)*){{{1}}}\s{0}(\s[\d.-]+)+ , B, strIndex - 1));
Console.WriteLine(reg.Match(A).Groups[1].Captures[index - 1].Value);
本文档为【在一个字符串里面按照位置查找一个数字的正则表达式怎么写】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。