Pregunta

Cómo reemplazar los caracteres especiales usando expresiones regulares? Por especial, lo que quiero decir es esos personajes simbólicos que aparecen a veces en el texto.

Por ejemplo, en el texto que sigue, quiero eliminar la burbuja que está en el comienzo de cada línea.

Pasaporte Detalles

Name as on passport
Relationship
Passport Number
Date of Issue
Expiry Date
Place of Issue

Pregunta editado: Lo siento, la burbuja en el inicio de la línea no es más visible.After pregunta presentación, Stackoverflow elimina ese carácter especial

.

Cualquier persona sabe cómo sustituir los caracteres especiales? No quiero reemplazar caracteres como #, @ o!. Estos son triviales y se pueden escribir con el teclado.

Lo sentimos, no sé cómo poner esos caracteres especiales en mi question.I tratará de explicar. En un archivo de Word, ponemos balas antes de texto. Quiero reemplazar caracteres reprenting tales caracteres. Tengo algunos archivos de texto que contienen caracteres que se parecen a la burbuja.

Finalmente, encontré la solución. Esta expresión regular que funciona para mí

([^ (A-Za-z0-9) + | \ r | \ n | \ t | '| "| # |; |:. | / | \ | |, |])

¿Fue útil?

Solución

No tengo tiempo suficiente para dar cuerpo a un ejemplo completo. Pero ya que usted está utilizando .NET puede hacer coincidir en cualquier número de estas clases de caracteres:

http://msdn.microsoft.com/en-us/library /20bw873z.aspx

Elija lo que desea aceptar y reemplazar cualquier cosa que no es igual a ese conjunto.

Otros consejos

(Este fue publicada antes se había especificado el idioma.)

Para reemplazar caracteres no ASCII con un espacio en Perl,

 $string =~ s/[^[:ascii:]]/ /g;

http://codepad.org/KTMvQiOz . Aquí el [^[:ascii:]] es una expresión regular que coincide con cualquier carácter que no sea ASCII.

Sería posible encontrar todos los caracteres "especiales" con esta expresión regular y luego simplemente reemplazarlos con un carácter de espacio:

/[<special_characters_here>]/

Sin embargo, por lo general es mejor utilizar listas blancas, mencionando por lo tanto todos los caracteres permitidos y la sustitución de todo lo que no es de ellos con un carácter de espacio:

/[^<allowed_characters_here>]/

Qué quiere decir la sustitución de los caracteres de retorno de carro y nueva línea?

Si eso es lo que está buscando, esto lo haría:

var source = "once\r\ntwice\r\nthrice";
var pattern = new Regex(@"\r\n");
var result = pattern.Replace(source, ",");
Assert.AreEqual("once,twice,thrice", result);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top