日期:2014-05-18  浏览次数:20381 次

求一个文本分割的函数
假设我有这样一段文本,我想把它按空行(或指定字符串)为分隔符来读取每一段的数据,放到不同的字符串或控件中显示,我该怎么做呢?
假设一个以下是段未分割的文本
{
abce阿斯顿福
建安记得12
3123


阿道夫教
案集kad
jk54545

sadfa1444爱的fadf
[url]www.163.com[/url]
}

------解决方案--------------------
split( ', ')//以逗号分开,其它类似
------解决方案--------------------
楼主给的例子分割后的结果是什么样的,说明一下
------解决方案--------------------
用正则实现 单行匹配

string str = @ "[^\s][\s\S]+?\s ";
------解决方案--------------------
using System.Text.RegularExpressions;


string str = "abce阿斯顿福\r\n建安记得12\r\n3123\r\n\r\n\r\n阿道夫教\r\n案集kad\r\njk54545\r\n\r\n sadfa1444爱的fadf\r\n[url]www.163.com[/url] ";

foreach (string s in Regex.Split(str, @ "(?:\r\n)+ "))
{
Console.WriteLine(s);
}
------解决方案--------------------
他的我试了不好用 你用这个。。

string str = @ "(? <!.)[\s]+ ";
------解决方案--------------------
l0f(凌风) ( ) 信誉:92 Blog 加为好友
0009(夏天以南) 你给的函数没有拆分成功。结果是原封不动的打印出来了
---------
看你使用的源文本是什么内容了,我给你的只是原理,看懂我给你写的正则,你想怎么改都行。

你可以试试
Regex.Split(str, @ "(?:\s)+ ")

Regex.Split(str, @ "(?:\r?\n)+ "))

自己花点时间看懂原理吧,别一个劲的只想要答案