[C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到
[C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到一个整形变量中“e”和“f”分别放到两个字符变量中,应该怎么做?...
[C#]若有一个字符串“abc12ef”我现在想将其中的“abc”放到另一个字符串中、“12”放到一个整形变量中 “e”和“f”分别放到两个字符变量中,应该怎么做?
展开
展开全部
你这问题木有说明白
如果这个字符串固定是你说的abc12ef,那好解决,但你这个abc12ef字符串如果是变化的呢?好比你这个abc12ef中的abc变成了2位的,12变成3位的....
如果这个字符串固定是你说的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, "");
展开全部
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));
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));
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询