C#中如何取字符串中指定的内容?

C#中如何取字符串中指定的内容?=D5=CA=BA=C5:84346333=0D=0A=C3=DC=C2=EB:0854444=0D=0A=CA=B1如上,我要把上面的字符串84346333和0854444取出来,怎么取??而且这两个数字的长度不确定,就是说有可能是8——18位数!!!但都是数字

string source = "=D5=CA=BA=C5:84346333=0D=0A=C3=DC=C2=EB:0854444=0D=0A=CA=B1";
//分析这个字符串,你所需要取的数据总是在:号之后,下一个=号之前。利用这个可以鉴别。
//以=号分割,保存在字符串数组
string[] temp = source.Split('=');
//创建一个list用于保存结果
List<string> list = new List<string>();
//循环字符串数组,取符合你结果的数据,添加到list中
foreach (string str in temp)
{
if (str.Contains(":"))
{
//取得:号所在的位置
int index = str.IndexOf(':');
//以这个位置到末尾截取字符串,加入list中
list.Add(str.Substring(index + 1, str.Length - index - 1));
}
} 最终执行完毕时,list中就是2个84346333和0854444了。而且这个方法不论数字是多少位,在什么地方。 请采纳,谢谢。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-23

这个逻辑就在于,取冒号后的数字串。

string ss = "=D5=CA=BA=C5:84346333=0D=0A=C3=DC=C2=EB:0854444=0D=0A=CA=B1";
foreach(Match m in Regex.Matches(ss,String.Format(@"(?<={0}\.\:)\d++(?=\=)",":")))
{
    Console.WriteLine(m.Value);
}

第2个回答  2013-06-06
这个可以用正则表达式处理,你要提取的字符串格式为 :数字字串= 具体处理你查一下C#使用正则表达式就ok了 你可以加我,本人提供有偿咨询。

C#中如何取字符串中指定的内容?
\/\/分析这个字符串,你所需要取的数据总是在:号之后,下一个=号之前。利用这个可以鉴别。\/\/以=号分割,保存在字符串数组 string[] temp = source.Split('=');\/\/创建一个list用于保存结果 List<string> list = new List<string>();\/\/循环字符串数组,取符合你结果的数据,添加到list中 foreach...

如何用C#截取字符串中的部分?
1. 使用Substring方法:Substring是最直接的方式用来截取字符串的一部分。它可以接收一个或两个参数,分别代表起始位置和截取长度,或者仅指定起始位置截取到字符串末尾。例如:csharp string originalString = "Hello World!";string subString = originalString.Substring; \/\/ 从位置0开始,截取长度为5的子...

c#怎么读取字符串中指定的内容
截取字符串到指定位置 subString(确定内容)使用正则表达式 进行匹配 获取指定字符串(确定格式)

C#中如何获取字符串中指定位置的字符
string aa = url.substring(1,2)\/\/第二个字符开始取两个字符,c#是从0开始算起的,所以第二位就是1.

c#怎样获取字符串指定位置的字符
可以使用字符串的Substring(int startIndex,int length)方法,例如:string s = "sadfhskdhfndfhizxcxkz";string str = s.Substring(4,1) 返回截获的值 str=="h"

c#中如何取得字符串中指定的几个字符 比如说1234567中取出前三个数以 ...
string str1 = "1234567";string str2= str1.SubString(0,3); \/\/ str2="123";string str3 = str1.SubString(2,3); \/\/str3 = "345";SubString(m, n) ; m为需要截取的字符串索引位置, n为 截取长度

C#中怎样在字符串中提取指定的数字??
\/\/\/ 获取字符串中的数字 \/\/\/ \/\/\/ 字符串 \/\/\/前几个数字 \/\/\/ <returns>数字<\/returns> public string GetNumber(string str,int count){ if (str != null && str != string.Empty){ \/\/ 正则表达式剔除非数字字符(不包含小数点.)str = Regex.Replace(str, @"[^\\d.\\d]", ""...

C#怎么提取字符串中间某一段?
用split先断开,然后再接回去 string t1 = "abc_def_1234";string t2="";string[] b1 = t1.Split('_');for (int i = 1; i < b1.Length - 1; i++){ if (i == b1.Length - 2){ t2 += b1[i].ToString();} else t2 += b1[i].ToString() + "_";} ...

C#怎么读取字符串中特定部分
不需要用正则表达式 String sqlCon="Data Source=...";String[] strs=sqlCon.Split(';');\/\/截取并获取User Id String userId=strs[1].SubString(strs[1].IndexOf("="),strs[1].Length-strs[1].IndexOf("=")-1);\/\/截取并获取Password String pwd=strs[2].SubString(strs[2].Ind...

c#中只提取字符串中的汉字
1. 可以用正则表达式匹配中文 [\一-\龥]2. 字符对应的编码值在,19968和40869之间的为中文 string name = "nihao高峰";int currentcode=-1;for (int i = 0; i < name.Length; i++){ currentcode=(int)name[i];if (currentcode >19968&¤tcode < 40869){ Console.WriteLine(...

相似回答