-1
string[] tmp = Regex.Split(originalString, @"\b(3DFACE|3DSOLID|ACAD_PROXY_ENTITIY|ARC|ATTDEF|ATTRIB|BODY|CIRCLE|DIMENSION|ELLIPSE|HATCH|HELIX|IMAGE|INSERT|LEADER|LIGHT|LWPOLYLINE|MLINE|MLEADERSTYLE|MLEADER|MTEXT|OLEFRAME|OLE2FRAME|POINT|POLYLINE|RAY|REGION|SEQEND|SHAPE|SOLID|SPLINE|SUN|SURFACE|TABLE|TEXT|TOLERANCE|TRACE|UNDERLAY|VERTEX|VIEWPORT|WIPEOUT|XLINE|LINE)\b", RegexOptions.None);

そして、私はこのテキストを持っています

BODY
bodyattrib
mybody
GR-BODY
attrib
123

そして、私は出力がこのようになることを望みます

tmp[0] = "BODY"
tmp[1] = "bodyattrib\mybody\nGR-BODY\nattrib\n123"

これまでのところ、出力は常にGR-BODYで分割された3つの配列です

4

1 に答える 1

0

^特殊文字を使用:

string[] tmp = Regex.Split(originalString, @"\b(3DFACE|3DSOLID|ACAD_PROXY_ENTITIY|ARC|ATTDEF|ATTRIB|^BODY|CIRCLE|DIMENSION|ELLIPSE|HATCH|HELIX|IMAGE|INSERT|LEADER|LIGHT|LWPOLYLINE|MLINE|MLEADERSTYLE|MLEADER|MTEXT|OLEFRAME|OLE2FRAME|POINT|POLYLINE|RAY|REGION|SEQEND|SHAPE|SOLID|SPLINE|SUN|SURFACE|TABLE|TEXT|TOLERANCE|TRACE|UNDERLAY|VERTEX|VIEWPORT|WIPEOUT|XLINE|LINE)\b", RegexOptions.None);

^を意味しbeginning of string or lineます。

そして、これをすべての単語に適用したい場合は、好きな単語に使用^してください。

\b(^3DFACE|^3DSOLID|^ACAD_PROXY_ENTITIY|^ARC|^ATTDEF|^ATTRIB|^BODY|^CIRCLE|^DIMENSION|^ELLIPSE|^HATCH|^HELIX|^IMAGE|^INSERT|^LEADER|^LIGHT|^LWPOLYLINE|^MLINE|^MLEADERSTYLE|^MLEADER|^MTEXT|^OLEFRAME|^OLE2FRAME|^POINT|^POLYLINE|^RAY|^REGION|^SEQEND|^SHAPE|^SOLID|^SPLINE|^SUN|^SURFACE|^TABLE|^TEXT|^TOLERANCE|^TRACE|^UNDERLAY|^VERTEX|^VIEWPORT|^WIPEOUT|^XLINE|^LINE)\b

その他の便利な特殊文字は$meansend of string or lineです。これらの単語が一列に並ぶように、これらの単語を囲むことができます。

^およびオプションに$依存することに注意してください。Multiline

于 2012-07-10T08:41:29.217 に答える