c#怎么从文本中得到指定条件的字符串啊?

2025-05-13 12:42:54
推荐回答(5个)
回答1:

分割字符串。

 string str = "易中天老师    易中天老师简介 易中天   所在大学: 厦门大学   所在城市: 福建    所在院系:人文学院    易中天,1947年生,湖南长沙人,1981年毕业于武汉大学,获文学硕士学位并留校任教,现任厦门大学人文学院教授,长期从事文学、艺术、美学、心理学、人类学、历史学等多学科和跨学科研究,著有《〈文心雕龙〉美学思想论稿》《艺术人类学》等著作。近年撰写出版了“易中天随笔体学术著作?中国文化系列”四种:《闲话中国人》《中国的男人和女人》《读城记》和《品人录》以及《帝国的惆怅》等。";

            string[] arr1 = str.Split(' ');

            for (int i = 0; i < arr1.Length; i++)

            {

                Console.WriteLine(i + arr1[i]);

            }

其中arr[9]和arr[13]分别为所在大学和所在城市后的具体内容

回答2:


string str="易中天......"
string city="",university="";
int start=0, end=0;
start=str.IndexOf("所在大学:");
end=str.IndexOf("所在城市:");
再用
city=str.Substring(start+5,end-start-5) 这句可以试一下再调整精确一些。

下一段可以将“所在院系”的开始点作为字串结束点,或者定义其它的结束位置。

这种编程的好处是不管分隔符是什么都管用。缺点就是如果有多个所在大学,需要设定MatchCollection再作处理。
格式如果固定,分隔符确定是空格的话可采用月之江南的做法。
如果不能确定格式是否固定,可以先用我的这个方法,将所有的所在大学后面的串提出来测一下,是否有空格,如果有些没有,则特殊处理一下。

回答3:

如果是固定字符串好提取,如果字符串是变动的,需要找起始位置。
然后截取,
或者用正则表达式,但是俺不懂这个....

回答4:

找到“所在大学”,“所在城市”的位置,用字符串截取函数截取中间的内容部分

回答5:

string[] arr = str.Split();