String.Replace

21/11/2005 - 15:43 por Matías | Informe spam
Tengo la siguiente función, esta bien??? o se puede hacer mejor???



Gracias de antemano



private string changeAccent(string word) {

word = word.Replace("á","á");

word = word.Replace("é","é");

word = word.Replace("í","í");

word = word.Replace("ó","ó");

word = word.Replace("ú","ú");

word = word.Replace("Á","Á");

word = word.Replace("É","É");

word = word.Replace("Í","Í");

word = word.Replace("Ó","Ó");

word = word.Replace("Ú","Ú");

word = word.Replace("ñ","ñ");

word = word.Replace("Ñ","Ñ");

return word;

}

Preguntas similare

Leer las respuestas

#1 A.Poblacion
21/11/2005 - 16:57 | Informe spam
"Matías" wrote in message
news:
Tengo la siguiente función, esta bien??? o se puede hacer mejor???

private string changeAccent(string word) {

word = word.Replace("á","á");

word = word.Replace("é","é");
[...]



Sería mucho mejor que utilizases un StringBuilder para hacer los
reemplazos en lugar de hacerlos sobre el string, ya que éste último se tiene
que destruir y volver a crear cada vez que haces una de estas operaciones.

using System.Text;

private string changeAccent(string word) {
StringBuilder sb = new StringBuilder(word);
sb.Replace("á","á");
sb.Replace("é","é");
[...]
return sb.ToString();
}
Respuesta Responder a este mensaje
#2 Matías
21/11/2005 - 17:09 | Informe spam
Gracias


"A.Poblacion" escribió en
el mensaje news:
"Matías" wrote in message
news:
Tengo la siguiente función, esta bien??? o se puede hacer mejor???

private string changeAccent(string word) {

word = word.Replace("á","á");

word = word.Replace("é","é");
[...]



Sería mucho mejor que utilizases un StringBuilder para hacer los
reemplazos en lugar de hacerlos sobre el string, ya que éste último se
tiene
que destruir y volver a crear cada vez que haces una de estas operaciones.

using System.Text;

private string changeAccent(string word) {
StringBuilder sb = new StringBuilder(word);
sb.Replace("á","á");
sb.Replace("é","é");
[...]
return sb.ToString();
}




Respuesta Responder a este mensaje
#3 tatis
22/11/2005 - 14:02 | Informe spam
Prueba con estas funciones de uso más general:

string newTerm = ChrTran("cáncíón", "áéíóúÁÉÍÓÚ",
"aeiouAEIOU");


public static string ChrTran(string SearchIn, string SearchFor, string
ReplaceWith)
{
string lcRetVal = SearchIn;
string ReplaceChar;
for(int i=0; i< SearchFor.Length; i++)
{
if(ReplaceWith.Length <= i)
ReplaceChar = "";
else
ReplaceChar = ReplaceWith[i].ToString();
lcRetVal = StrTran(lcRetVal, SearchFor[i].ToString(), ReplaceChar);
}
return lcRetVal;
}

public static string StrTran(string SearchIn, string SearchFor, string
ReplaceWith)
{
StringBuilder sb = new StringBuilder(SearchIn);
sb.Replace(SearchFor, ReplaceWith);
return sb.Replace(SearchFor, ReplaceWith).ToString();
}
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida