[C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到

[C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到一个整形变量中“e”和“f”分别放到两个字符变量中,应该怎么做?... [C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到一个整形变量中 “e”和“f”分别放到两个字符变量中,应该怎么做? 展开
 我来答
幻想武士
2014-10-23 · TA获得超过1074个赞
知道小有建树答主
回答量:639
采纳率:90%
帮助的人:399万
展开全部
你这问题木有说明白
如果这个字符串固定是你说的abc12ef,那好解决,但你这个abc12ef字符串如果是变化的呢?好比你这个abc12ef中的abc变成了2位的,12变成3位的....
追问
对对,你说到点上了。字符串合适固定为:字符串+数字+两个字符。但是里面的字符串和数字长度是可变的…
追答
string str = "asdfg123aw";
            //字符串转字符数字
            char[] ch = str.ToCharArray();
            //获取字符串最后2个字符
            string str2 = str.Substring(str.Length - 2, 2);
            string str1 = "";
            //循环寻找第一个数字所在的下标位置
            foreach (var item in ch)
            {
                //判断当前字符是否为数字
                if (item >= 97&&item<=107) {
                    //是数字,获取当前数字在字符串中所在的位置
                   int index= str.IndexOf(item);
                   //获取字符串到第一个数字所在的位置的前一个字符
                   str1= str.Substring(0, index);
                }
            }
            //获取字符串中间的数字
            string str3 = str1.Replace(str1, "").Replace(str2, "");
百度网友be0af5c
2014-10-23 · TA获得超过175个赞
知道小有建树答主
回答量:263
采纳率:72%
帮助的人:79.4万
展开全部
string str = "abc12ef";
string abc = str.Substring(0,3);
int num = Convert.ToInt32(str.Substring(3,2));
char e = Convert.ToChar(str.Substring(5,1));
char f = Convert.ToChar(str.Substring(6,1));
追问
这个…因为这个字符串长度是不定的,有可能“abc”这部分会是“abcd”,所以不能直接索引。但需要处理的字符串的格式都是:字符串+数字+字符+字符
追答
那就从后往前,字符嘛肯定就一个长度,所以先取f 在从str里抛去,再去e 然后用正则匹配数字,由于长度不固定,可以取第一个数字位置然后操作。

string str = "abc12ef";
char f = Convert.ToChar(str.Substring(str.Length-1,1));
str = str.Substring(0,str.Length-1);
char e = Convert.ToChar(str.Substring(str.Length-1,1));
str = str.Substring(0,str.Length-1);
String strPricePatten = "[0-9]"; // 要进行匹配的正则表达式
Regex rgxMatchPrice = new Regex(strPricePatten);
String strMatchValue = rgxMatchPrice.Match(str).ToString();

int num =Convert.ToInt32(str.Substring(str.IndexOf(strMatchValue)));
str= str.Substring(0,str.IndexOf(strMatchValue));
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式