没法活了,怎么分析字符串啊?C#中有没有类似C++里面的scanf的东东啊! string s="a=12,b=34,c=56,xxxx=7788";string[] d=s.Split(',');得;d[0]="a=12";d[1]="b=34";... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是,我想得到12,34,56,7788,而且中间也不一定是逗号分割,比如:Version:3.4 Length:6754 NodeName:ABC string s="Version:3.4 Length:6754 NodeName:ABC";string[] d=s.Split(' ');for(int i=0;i<d.Length;i++){ int start=d[i].IndexOf(":")+1; 你要的值=d[i].Substring(start,d[i].Length-start); } 使用正则表达式Regex.Matchs(),在输入字符串中搜索正则表达式的所有匹配项并返回所有成功的匹配例如:MatchCollection mc = Regex.Matchs("", @"=(\d+),?");foreach (Match m in mc){//自己处理吧} String.Format("The identity of {0} has been accessed {1} times.", _principal.Identity.Name, _nAccesses); 用正则表达式, 详见命名空间 System.Text.RegularExpressions匹配条件为 \d+就搞定了. 这有个方法,原来作用是取得url中变量的值的,因为这时QueryString用不了,例如:string url = "?Cate=Design&ResultID=1&ProjectID=GCRJ0295&Test=100&LoginID=Administrator&SubSystem=Requirement&";string param = "Cate";string value=GetValue(url,param);这时value等于Disign。不过这个方法你如果要用可能有麻烦,因为如果前面的变量值等于后面变量名时会有问题,你可以把逗号作为变量名的第一个字符,作为标记,还有把下面方法里的'&'改为',' ,方法可能有问题,用的时候小心!public string GetValue(string url, string param) { string value = ""; Char[] paras = para.ToCharArray(); int paraLength = paras.Length; Char[] urls = url.ToCharArray(); urls[0]='&'; int urlLength = urls.Length; bool Same = true; for (int i = 0; i < urlLength; i++) { if (i-1>=0&&urls[i] == paras[0]&&urls [i-1]=='&') { for (int j = 1; j < paraLength; j++) { if (urls[i + j] != paras[j]) { Same = false; break; } } if (Same) { int k = 1; while (urls[i + paraLength + k] != '&') { value += urls[i + paraLength + k].ToString(); k++; } break; } Same = true; } } return value; } C#如何调用C++接口? 类下面还可以有一个子类是如何做到的 c#应用程序界面的一些问题 关于配置文件的问题 一个不好怎么表达的问题,(字符串表达式,如何转换成计算公式?) 如何让字体闪烁且飘动起来? 有关HyperLink 控件的问题 请问如何通过代码实现终端机上的剩余电量 winform中listbox加入checkbox后滚动条问题 关于事件中的参数问题!!! 在.net中发送邮件时,如果邮件服务器需要认证,应该怎么办? 如何获取一个外部窗体的属性?
string[] d=s.Split(' ');
for(int i=0;i<d.Length;i++)
{
int start=d[i].IndexOf(":")+1;
你要的值=d[i].Substring(start,d[i].Length-start);
}
在输入字符串中搜索正则表达式的所有匹配项并返回所有成功的匹配
例如:
MatchCollection mc = Regex.Matchs("", @"=(\d+),?");
foreach (Match m in mc)
{
//自己处理吧
}
_principal.Identity.Name,
_nAccesses);
匹配条件为 \d+
就搞定了.
string url = "?Cate=Design&ResultID=1&ProjectID=GCRJ0295&Test=100&LoginID=Administrator&SubSystem=Requirement&";
string param = "Cate";
string value=GetValue(url,param);
这时value等于Disign。
不过这个方法你如果要用可能有麻烦,因为如果前面的变量值等于后面变量名时会有问题,你可以把逗号作为变量名的第一个字符,作为标记,还有把下面方法里的'&'改为',' ,方法可能有问题,用的时候小心!public string GetValue(string url, string param)
{
string value = "";
Char[] paras = para.ToCharArray();
int paraLength = paras.Length;
Char[] urls = url.ToCharArray();
urls[0]='&';
int urlLength = urls.Length;
bool Same = true;
for (int i = 0; i < urlLength; i++)
{
if (i-1>=0&&urls[i] == paras[0]&&urls [i-1]=='&')
{
for (int j = 1; j < paraLength; j++)
{
if (urls[i + j] != paras[j])
{
Same = false;
break;
} }
if (Same)
{
int k = 1;
while (urls[i + paraLength + k] != '&')
{
value += urls[i + paraLength + k].ToString();
k++;
}
break; }
Same = true;
}
}
return value; }