求一个正则表达式
匹配如此:
06:00:00 25 动画乐翻天:2012-91或者06:00:00 动画乐翻天:2012-91
(备注:各个之间的空格数不是固定的,如上例,一行可能有2列或者3列,目的就是替换中间的数字加空格或者多个空格为一个空格)
得到
06:00:00 动画乐翻天:2012-91
匹配如此:
06:00:00 25 动画乐翻天:2012-91或者06:00:00 动画乐翻天:2012-91
(备注:各个之间的空格数不是固定的,如上例,一行可能有2列或者3列,目的就是替换中间的数字加空格或者多个空格为一个空格)
得到
06:00:00 动画乐翻天:2012-91
Regex reg = new Regex(@"(?is)((?<= )\d+(?= ))|( +)");
source = reg.Replace(source, @" ");
比如:
06:00:00 25 动画乐翻天:2012-92
这是有3列的
我只想得到06:00:00 动画乐翻天:2012-92 时间后面是一个空格
但是每列之间的空格数是不固定的(即读的每一行的3列之间的空格数)
还有一种
06:00:00 动画乐翻天:2012-92
这是有2列的 中间的空格数也不是固定的(即读的每一行的2列之间的空格数)
同样得到
我只想得到06:00:00 动画乐翻天:2012-92 时间后面是一个空格
string result="06:00:00 25 动画乐翻天:2012-91或者06:00:00 动画乐翻天:2012-91";
result = Regex.Replace(result, @"(?<=\d+:\d+:\d+)\s+?\d+?\s+|\s+", " ");//06:00:00 动画乐翻天:2012-91或者06:00:00 动画乐翻天:2012-91
1.时间后带空格+数字+空格
2.多个空格
以上两种情况均要替换成一个空格,于是第一种情况以时间格式06:00:00定位匹配后面的空格+数字+空格第二种情况只需要匹配多空格处,两种情况均匹配,统一替换成一个空格
我是不是还得加个|
即
(?<=\d+:\d+)\s+?\d+?\s+|(?<=\d+:\d+:\d+)\s+?\d+?\s+|\s+
这样?
刚才试过可以。
还有前面时间是否正确的判断 我还是放在C#里面分割出来在判断吧。
封贴。。