2 u014285297 u014285297 于 2014.11.30 20:09 提问

c# regex.split返回的数组中总是有空字符串

有一个文本文档,结果类似:
A******
A1111111
A5555555
A6666666
在多行匹配的时候,希望把文本分割开,但是每次返回的数组的第一个值,总是空,代码如下:
Regex REA = new Regex("A.*",RegexOptions.Multiline);
string b=REA(text);
比如应该返回4个成员成员的数组,但是返回的数组是5个成员,b[0]是一个空值,后面的一切正常,这是什么问题?
-----补充------
之所以用多行匹配,实际上是因为文本很长,应该是
A1213131313131
464616511131213
A13165416546131
16541561351213
...
A1612316513
216213216541641513213
这样的格式,每一个单元的前面标志是一样的,但是后面是跨行的文本,A有没有不是很重要。把A.*改成A[.\n]*之后,还是会返回一个空值。取得REA.length属性,得到的值,比实际值多1。

3个回答

q107770540
q107770540   Ds   Rxr 2014.12.01 11:10
已采纳
var text=@"A1111111

A5555555
A6666666";

Regex REA = new Regex("(A.*)",RegexOptions.Singleline);

结果如下:

A1111111
A5555555
A6666666

caozhy
caozhy   Ds   Rxr 2014.12.01 03:05

用 A[^\n]+ 看看。

happy09li
happy09li   Ds   Rxr 2014.12.04 11:49

督察厉害,,,,,,

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!