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个数组
答案 0 :(得分: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
其他有用的特殊字符$
表示end of string or line
。你可以将这些单词括在一起,以确保这些单词出现在一行中。
请注意^
和$
取决于Multiline
选项。