100分:新手求一个程序(提取字符串的一部分到一个新字段).当天就要解决啊~~~~ SubString()和IndexOf()结合使用就可以办到了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 基本内容如下,未调试string GetString(string ZJ_A) { string tmp,lastDate; int begin,end; tmp=ZJ_A; end=tmp.LastIndexOf(")",1,tmp.Length); if (end>1) begin=tmp.LastIndexOf("(",1,tmp.Length); else return ""; if ((begin>0) && (end>begin)) lastDate=tmp.Substring(begin,end-begin); else return ""; if (CheckDate(lastDate)==true) return lastDate; else { tmp=tmp.Substring(1,begin-1); return GetString(tmp); } } bool CheckDate(string strDate) { try { DateTime.Parse(strDate); return true; } catch { return false; } } update zj_fangan set zj_b = Convert(Datetime,zj_a.substring(zj_a.indexof("(2"),....) Split()以后返回的数组arrs[3],arrs[7],+4类推就是 如果你是要取厅领导的审批时间,可以这样写:string yourStr;string regexStr = @"厅领导.+(\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})";string timeStr = Regex.Match(yourStr, regexStr).Groups[1].Value; string s="住宅与房地产处(7)封刚(2004-8-20 8:52:40)意见:同意。住宅与房地产处(5)桑卫京(2004-8-23 17:01:55) 意见:同意。 厅领导(9)张凤珠(2004-9-8 9:16:06) 意见:同意"; string [] arr=s.Split(new char[]{'(',')'}); int j=0; for(int i=0;i<arr.Length;i++) { if(j==3) { Console.WriteLine(arr[i]); j=0; } else j++; } 住宅与房地产处(7)封刚(2004-8-20 8:52:40) 意见:同意。 住宅与房地产处(5)桑卫京(2004-8-23 17:01:55) 意见:同意。 厅领导(9)张凤珠(2004-9-8 9:16:06) 意见:同意如果格式均为这样的话, LoveCherry(最讨厌你们这些要代码的了,一点技术含量都灭有)的方法可行。不过有点问题,修改:string [] arr=s.Split(new char[]{'(',')'});//用"("和")"符号把字符串打散成string数组 //arr[0]="住宅与房地产处" ,array[1]="7",array[2]="封刚" array[3]="2004-8-20 8:52:40" 以下类似 for(int i=1;i<=arr.Length;i++) { if(i%3==0)//这儿判断是否是时间字符串 { Console.WriteLine(arr[i-1]); } } 有没有懂billboard的啊?我多给分 itext简单例子,不知道哪里出错 又是一道面试题 [非常急]正则在DW里都没有错但是在C#里一条也查不到 TFS问题,源代码管理 动态产生 picturebox 什么样的情况比较适合WCF? HyperLinkColumn问题? 不知道C#.NET与visual C++.NET之间的区别 一个很奇怪的刷新问题,大家看看是怎么回事? 关于分布式与多层数据开发 静态方法内部的成员变量在并发时是共享的吗?
string GetString(string ZJ_A)
{
string tmp,lastDate;
int begin,end;
tmp=ZJ_A;
end=tmp.LastIndexOf(")",1,tmp.Length);
if (end>1)
begin=tmp.LastIndexOf("(",1,tmp.Length);
else
return "";
if ((begin>0) && (end>begin))
lastDate=tmp.Substring(begin,end-begin);
else
return "";
if (CheckDate(lastDate)==true)
return lastDate;
else
{
tmp=tmp.Substring(1,begin-1);
return GetString(tmp);
}
}
bool CheckDate(string strDate)
{
try
{
DateTime.Parse(strDate);
return true;
}
catch
{
return false;
}
}
string yourStr;
string regexStr = @"厅领导.+(\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2})";
string timeStr = Regex.Match(yourStr, regexStr).Groups[1].Value;
string [] arr=s.Split(new char[]{'(',')'});
int j=0;
for(int i=0;i<arr.Length;i++)
{
if(j==3)
{
Console.WriteLine(arr[i]);
j=0;
}
else
j++;
}
意见:同意。
住宅与房地产处(5)桑卫京(2004-8-23 17:01:55)
意见:同意。
厅领导(9)张凤珠(2004-9-8 9:16:06)
意见:同意
如果格式均为这样的话, LoveCherry(最讨厌你们这些要代码的了,一点技术含量都灭有)的方法可行。
不过有点问题,修改:
string [] arr=s.Split(new char[]{'(',')'});//用"("和")"符号把字符串打散成string数组
//arr[0]="住宅与房地产处" ,array[1]="7",array[2]="封刚" array[3]="2004-8-20 8:52:40" 以下类似
for(int i=1;i<=arr.Length;i++)
{
if(i%3==0)//这儿判断是否是时间字符串
{
Console.WriteLine(arr[i-1]);
}
}