读书人

100分 请问一有关问题,各位达人帮忙

发布时间: 2012-01-08 22:48:50 作者: rapoo

100分 请教一问题,各位达人帮忙(帮顶给分)
分肯定兑现!请放心!各位帮忙的兄弟辛苦了~
我的字符串形式如下:

string strWork = "2005/05--2006/12:分众传媒有限公司\r\n所属行业:广告媒体 \r\n开发部 DBA\r\n后台数据维护\r\n\r\n\r\n\r\n2007/02--至今:PCPOP..... "
我想分别取出前面的时间,单位名称,所属行业(这4个字是固定的),及后面的部门,职位,职责.
前面的时间能取出来,后面的还请大家帮忙想想办法.


string strPro = "技能名称熟练程度使用时间\r\n\r\n\r\n\r\nSQL Server 熟练 50月\r\nDB2 一般 48月 "
前面一串可以不要,主要是要后面的it技能,熟练度,和所用时间

我先谢谢你们了
还祝大家国庆快乐,吃好,玩好,休息好..

[解决办法]
Replace 或SubString方法
[解决办法]
最近怎么这么多的字符串问题 ...
看了头好晕....
帮你顶个拉...
[解决办法]
先用\r\n分割
然后再用:分割
[解决办法]
jf
up
[解决办法]
最近确实好多取字符串的问题。顶了。。
用正则表达式可以达到。不过俺正则没那么牛。。
等待高手来吧。。
[解决办法]
string str = "2005/05--2006/12:分众传媒有限公司\r\n所属行业:广告媒体 \r\n开发部 DBA\r\n后台数据维护\r\n\r\n\r\n\r\n2007/02--至今:PCPOP..... ";
string sp = str.Replace( "\r ", " ").Replace( "\n ", " ");
string[] kk = sp.Split(new char[] { ' '});
foreach (string k in kk)
{
Response.Write(k+ " <br/> ");
}
}

产生的有空格,看怎么处理吧,思路大概是这样,也可以用\r\n直接进行分割
[解决办法]
用正则表达式分析字符串就行了。
楼主可参考:
http://www.cnblogs.com/midea0978/archive/2005/12/21/301756.aspx
http://www.mydict.net/html/zhengze/20070515/2058.html
[解决办法]
像这样
(? <=\d{4}\/\d{2}--\d{4}\/\d{2}:)(.*?)(?=(\\r\\n)+所属行业:)
这个正则就可以得到公司名称了,你学学就可以会了
把几个结果放组里
[解决办法]
好人做到底
(\d{4}\/\d{2}--\d{4}\/\d{2}):(.*?)(?:\\r\\n)+所属行业:(.*?)(?:\\r\\n)+(.*?)(?:\\r\\n)+(.*?)(?:\\r\\n)+

我全放组里,结下来你去查 System.Text.RegularExpressions命名空间


[解决办法]
up!!!!
祝大家国庆快乐!!!!
[解决办法]

[解决办法]
...新手.关注...UP↑

[解决办法]
up
[解决办法]
帮顶一下就OK了
[解决办法]
up~~
[解决办法]
(\d{4}\/\d{2}--\d{4}\/\d{2}):(.*?)(?:\\r\\n)+所属行业:(.*?)(?:\\r\\n)+(.*?)(?:\\r\\n)+(.*?)(?:\\r\\n)+

[解决办法]
left() right() mid()
[解决办法]
anncesky(不想飞,想一步跨过太平洋)
-------------------------------------------
(? <=\d{4}\/\d{2}--\d{4}\/\d{2}:)(.*?)(?=(\\r\\n)+所属行业:)
你写的这个正则匹配不到他所想要的结果,你测试过了没?


理论上这样是可以.但是你到练习器上去测试一下.....

建议还是用替换的方法
string sp = str.Replace( "\r ", " ").Replace( "\n ", " ");
string[] kk = sp.Split( ' ');
foreach (string k in kk)
{
//do something
}

[解决办法]
帮顶ing。。。。
[解决办法]
你就是要去包含某些特定标记之间的数据么,用正则表达式匹配截取就可以啊
[解决办法]
用正则表达式,帮顶.....
[解决办法]
顶~~~~~~~~~~~~~~~~~~ js
[解决办法]
星级回复?
[解决办法]
Split( '\r ');
[解决办法]
split行不行
[解决办法]
Split
[解决办法]
做人要厚道!
[解决办法]
帮顶
[解决办法]
REPLACE
[解决办法]
jf
[解决办法]
jf
[解决办法]
up
[解决办法]
UP
[解决办法]
mark
[解决办法]
嗯,PHP里的split很好用
[解决办法]
用正则表达式
[解决办法]
帮定一下,别沉了
[解决办法]
up
[解决办法]
用正则表达式,帮顶
[解决办法]

?〃拿分´`)
  ,·´ ¸,·´`)
 (¸,·´  (¸*?顶个?〃´`)
          ,·´ ¸,·´`)
           (¸,·´ (¸走人*
          ,·´ ¸,·´`)
           (¸,·´ (¸国庆*??〃快乐´`)

[解决办法]
顶一下,蛮简单的,就用replace,首选找出里面的规律,替换成相应的字符。然后就可以用很简单的正则分开了,当然直接用正则也是一样的
[解决办法]
这么热闹,帮顶一下
[解决办法]
substring,replace,split
[解决办法]
string.remove 结合 string.firstindexof(":")、string.LastIndexOf(".")


来实现
[解决办法]
小弟是菜鸟上路只能顶下了~~!!!
[解决办法]
小弟是菜鸟上路只能顶下了~~!!!
[解决办法]
JF
[解决办法]
up
[解决办法]
正则表达式取值。。用其中的:\r\n来分
[解决办法]
用截取字符串的方法能实现

SubString方法
[解决办法]
用截取字符串的方法能实现 你的要求

试一下用
SubString
[解决办法]

string strWork = "2005/05--2006/12:分众传媒有限公司\r\n所属行业:广告媒体 \r\n开发部 DBA\r\n后台数据维护\r\n\r\n\r\n\r\n2007/02--至今:PCPOP....."
我想分别取出前面的时间,单位名称,所属行业(这4个字是固定的),及后面的部门,职位,职责.
前面的时间能取出来,后面的还请大家帮忙想想办法.
---------------------------------------
(?<date>\d{4}\/\d{2}--\d{4}\/\d{2}):\s*(?<company>[^\s]*?)\\r\\n所属行业:\s*(?<field>[^\s]*)\s*\\r\\n(?<depart>[^\s]*)\s+(?<busi>[^\s]*?)\s*\\r\\n(?<func>[^\s]*?)(\\r\\n)+
用MatchCollection
Groups["date"] 时间
Groups["company"] 单位名称
Groups["field"] 所属行业
Groups["depart"] 部门
Groups["busi"] 职位
Groups["func"] 职责



string strPro = "技能名称熟练程度使用时间\r\n\r\n\r\n\r\nSQL Server 熟练 50月\r\nDB2 一般 48月"
前面一串可以不要,主要是要后面的it技能,熟练度,和所用时间

@"(\\r\\n)(?!\\r\\n)(?<skill>[^\s]*)\s+(?<prac>[^\s]*)\s+(?<date>[^\s]*?)\s*((\\r\\n)|$)"
用MatchCollection
Groups["skill"] 技能
Groups["prac"] 熟练度
Groups["date"] 所用时间
[解决办法]
路过.不懂的.呵呵
[解决办法]
ding
[解决办法]
UP
[解决办法]
帮顶,jf
[解决办法]
帮顶
接分
[解决办法]
static string strWork = "2005/05--2006/12:分众传媒有限公司\r\n所属行业:广告媒体 \r\n开发部 DBA\r\n后台数据维护\r\n\r\n\r\n\r\n2007/02--至今:PCPOP....." ;
static string strPro = "技能名称熟练程度使用时间\r\n\r\n\r\n\r\nSQL Server 熟练 50月\r\nDB2 一般 48月" ;

SubStrs strings=new SubStrs();//定义的一个对象
strings.replace(strWork);
strings.replace(strPro);
strings.getStr(strWork);
strings.getStr(strPro);

//分离函数
public string[] getStr(String strWork){
int count=0;
int index=-1;
char separactor=' ';
do
{
count++; //计算出有多少字串
index++;
index=strWork.indexOf(separactor,index);
}while(index!=-1)
String[] subStr=new String[count];
index=0;
int endIndex=0;
for(int i=0;i<count;i++)
{
endIndex=strWork.indexOf(separactor,index);
if(endIndex==-1)
subStr[i]=strWork.substring(index); //分离
else
subStr[i]=strWork.substring(index,endIndex);
subStr[i]=subStr.trim(); //删除开始和结尾的空格
index=endIndex+1;
}
return subStr;
}

//对函数str.replace()的重定义
public string replace(string str)
{
char[] newStr=new char[str.length()];


for(int i=0;i<newStr.length;i++)
{
newStr[i]=str.charAt(i);
}
for(int i=0;i<newStr.length;i++)
{
if(newStr[i]=='\')
{
newStr[i]=' ';
newStr[++i]=' ';
}
}
String newStrs=String.copyvalueOf(newStr);
return newStrs;
}
[解决办法]
判断'\r\n'
然后截取就OK了~!``
[解决办法]
顶一下
[解决办法]
split()
[解决办法]
有什么解决的方法
[解决办法]
jf
[解决办法]
只能帮着灌水
[解决办法]
d
[解决办法]
用正则表达式分析字符串就行了。
[解决办法]
8楼 9楼 看下就知道咯
[解决办法]
mark
[解决办法]
mark
[解决办法]
up
[解决办法]
不知呀
[解决办法]
都是高手呀,。顶。

读书人网 >asp.net

热点推荐