问题描述
请教c#截取字符串下面有一组字符串,需要把钱数字给截取出来。钱的数字是变动的,其他固定。1.=50元;2.=124元;3.=346元;4.=69元;5.=98元;请教c#有什么好方法截取呢?规律是:1.=X元;2.=X元;3.=X元;4.=X元;5.=X元;现在只有X是变动的,其他都是固定形式字符。要截取这个变动的X,请教各位了。谢谢!
解决方案
解决方案二:
split(":")得到的数组,每个元素再用split("=")[1]
解决方案三:
stringstr=@"1.=50元;2.=124元;3.=346元;4.=69元;5.=98元;";vararr=str.Split('=',';');for(vari=1;i<arr.Length;i+=2){Console.WriteLine(arr[i]);}
解决方案四:
stringstr=@"1.=50元;2.=124元;3.=346元;4.=69元;5.=98元;";foreach(MatchminRegex.Matches(str,@"(?<==)d+")){Console.WriteLine(m.Value);}
解决方案五:
stringstr="1.=50元;2.=124元;3.=346元;4.=69元;5.=98元;";string[]arr=str.Replace("元","").Split(';');stringval;foreach(stringsinarr){if(s.Length>0)val=s.Split('=')[1];}
解决方案六:
请问,如果我要截取3.=的值,怎么截取呢?
解决方案七:
截取3.=,这什么意思?按你规则的话,截出来的结果取索引位置2的即可或者用Regex.Match(str,@"(?<=3.=)d+").Value
解决方案八:
这个很简单其他字符不用管只要分割‘=元’两个字符之间就是需要的数字了.Split(“=元”.ToCharArray())[1、3、5、7。。。];断点查看分割出来的数组序号应该获取奇数序号就可以了。
解决方案九:
stringst=@"1.=50元;2.=124元;3.=346元;4.=69元;5.=98元;";StringSplitOptionssso=StringSplitOptions.RemoveEmptyEntries;vararr=st.Split(newstring[]{"元;"},sso).Select(p=>p.Split(newstring[]{".="},sso));vardic=arr.ToDictionary(p=>int.Parse(p[0]),p=>decimal.Parse(p[1]));//3.的价格Console.WriteLine(dic[3]);//result:346
解决方案十:
解决方案十一:
正则捕获strings="1.=50元;2.=12.40元;3.=346元;4.=69元;5.=98元;";Regexr=newRegex("=([0-9.]+)元");MatchCollectionmc=r.Matches(s);foreach(Matchminmc){Console.WriteLine(m.Groups[1].Value);}
解决方案十二:
例如截取3.=346元;那么这个钱数字怎么样截取出来呢?
解决方案十三:
传入"3"publicstringGetMondy(stringstrText){returnRegex.Match("1.=50元;2.=12.40元;3.=346元;4.=69元;5.=98元;",strText+".=(.*?)元").Groups[1].Value;}
引用11楼xiehuangda的回复:
例如截取3.=346元;那么这个钱数字怎么样截取出来呢?
--!。。。
解决方案十四:
环境是winfromvs2005.net2.0编译错误
解决方案十五:
引用11楼xiehuangda的回复:
例如截取3.=346元;那么这个钱数字怎么样截取出来呢?
可以使用这个计算式获取任意指定序inta=1;.Split(“=元”.ToCharArray())[i*2-1];i=3;就可以了。
解决方案:
解决方案:
1根据;进行split2将获得的数组每个做=split3rplace("元","")