2011-01-11 40 views
6

No soy especialista en expresiones regulares, así que necesito ayuda con esto. Tengo un archivo de texto y necesito eliminar algunos delimitadores finales. El archivo de texto es el siguiente:Eliminar caracteres con expresiones regulares en C#

MSH|^~\&|OAZIS||||20101029135359||ADT^A31|00000015|P|2.3.1||||||ASCII 
EVN|A31|20101029135359^^^^||||19900101 

Así que creo que la mejor manera es hacer una expresión regular reemplazar? ¿Alguien me puede ayudar con esta expresión regular?

que desea eliminar todos los ^ que se presentan ante un |

Así test^A^^| tiene que convertirse en test^A|

Gracias

Respuesta

6
resultString = Regex.Replace(subjectString, @"\^+\|", "|"); 

debe tener cuidado de que.

+0

Genial, funciona :) Thx –

1

I belive su expresión regular se vería así ...

\^+\| 

Eso debe coincidir con uno o más '^' seguido por un '|'.

1

La expresión regular para que coincida será algo como:

^+ \ |

Pero su peligroso utilizar expresiones regulares que no entiende (al igual que cualquier otro tipo de código!)

leer algunos tutoriales o se perderá una gran cantidad de cosas, por ejemplo:

http://www.codeproject.com/KB/dotnet/regextutorial.aspx

+1

'^' se interpretará como un ancla. – marcog

+0

Thx para el enlace :) –

Cuestiones relacionadas