日期:2014-05-17  浏览次数:21083 次

用正则表达式分割字符串
本帖最后由 zhuzhaodan 于 2012-12-01 15:55:50 编辑 [2012年前十个月][,][金融市场总体运行平稳][。][10月份][,][银行间市场债券发行量较上月略有减少][,][5年期以下债券发行比重有所上升][。]
[成交量略有减少][。]

一个字符串,包含两段,向如上拆分,按照标点符号,段落拆分成数组元素,请问怎么做啊,用正则表达式

------最佳解决方案--------------------
[,。,.?!?!]+").Cast<Match>().Select(t => t.Value).ToArray();
             
------其他解决方案--------------------
引用:
我想指定只用 逗号,句号,分号,空格 这4个标点分割

var ary = Regex.Matches(str, @"[^,。,.;;\x20]+
------其他解决方案--------------------
\w+  只取汉字 数字 字母 就可以了。不取标点
------其他解决方案--------------------
我想指定只用 逗号,句号,分号,空格 这4个标点分割
------其他解决方案--------------------
var ary = Regex.Matches(str, "[^,。,.?!?!]+
------其他解决方案--------------------
[,。,.;;\x20]+").Cast<Match>().Select(t => t.Value).ToArray();
             
------其他解决方案--------------------

string test2 = @"我想指定只用 逗号,句号。分号;空格 这4个标点分割";
string [] list= test2.Split(',',',','.','。',' ',';',';');


一定要用正则吗,这样也可以啊,另外我考虑了英文输入法下的逗号和中文输入法下的逗号,不知道是不是你想要的
------其他解决方案--------------------
[^,。;\s]+
------其他解决方案--------------------
[^,。,.;;\x20]+