Autor
|
Tema: Quitar acentos de un string (Leído 16,880 veces)
|
Stakewinner00
|
Los caracteres acentuados se componen de dos bytes, mientras los sin acento se representan con un solo byte, intenta probando esto if( cadena == (unsigned char)('á'))
Pero comparar una cosa de la clase std::string con un unsigned char no se puede hacer así tal cual,
|
|
|
En línea
|
|
|
|
|
user-marcos
Desconectado
Mensajes: 159
|
Ahora, una pregunta: necesitas reemplazar únicamente acentos? que pasa con las eñes y ¨? y los demás caracteres especiales que se usan en otros lenguajes? Los demás caracteres los voy a quitar, sólo me insertaban los acentos para que las urls no me pierdan el sentido. Gracias a todos por la ayuda.
|
|
|
En línea
|
|
|
|
WHK
|
Ahhh es para formatear urls amigables, entonces dale un vistazo a esto: https://github.com/WordPress/WordPress/blob/master/wp-includes/formatting.php#LC968Te servirá para crear reglas similares en c++, está hecho en php y es la función nativa de Wordpress para crear las urls amigables: function remove_accents( $string ) { return $string; if (seems_utf8($string)) { // Decompositions for Latin-1 Supplement // Decompositions for Latin Extended-A // Decompositions for Latin Extended-B // Euro Sign // GBP (Pound) Sign // Vowels with diacritic (Vietnamese) // unmarked // grave accent // hook // tilde // acute accent // dot below // Vowels with diacritic (Chinese, Hanyu Pinyin) // macron // acute accent // caron // grave accent ); // Used for locale-specific rules $locale = get_locale(); if ( 'de_DE' == $locale || 'de_DE_formal' == $locale ) { $chars[ chr(195).chr(132) ] = 'Ae'; $chars[ chr(195).chr(164) ] = 'ae'; $chars[ chr(195).chr(150) ] = 'Oe'; $chars[ chr(195).chr(182) ] = 'oe'; $chars[ chr(195).chr(156) ] = 'Ue'; $chars[ chr(195).chr(188) ] = 'ue'; $chars[ chr(195).chr(159) ] = 'ss'; } elseif ( 'da_DK' === $locale ) { $chars[ chr(195).chr(134) ] = 'Ae'; $chars[ chr(195).chr(166) ] = 'ae'; $chars[ chr(195).chr(152) ] = 'Oe'; $chars[ chr(195).chr(184) ] = 'oe'; $chars[ chr(195).chr(133) ] = 'Aa'; $chars[ chr(195).chr(165) ] = 'aa'; } $string = strtr($string, $chars); } else { // Assume ISO-8859-1 if not UTF-8 $chars['out'] = "EfSZszYcYuAAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy"; $string = strtr($string, $chars['in'], $chars['out']); $double_chars['out'] = array('OE', 'oe', 'AE', 'DH', 'TH', 'ss', 'ae', 'dh', 'th'); $string = str_replace($double_chars['in'], $double_chars['out'], $string); } return $string; }
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Quitar caracteres a una string
Programación Visual Basic
|
W3XT3R
|
5
|
5,464
|
25 Diciembre 2005, 22:59 pm
por Kizar
|
|
|
[Solucionado] Comparar un String con cada una de las partes de otro String
« 1 2 »
.NET (C#, VB.NET, ASP)
|
Segurida
|
13
|
12,531
|
14 Mayo 2011, 18:52 pm
por Segurida
|
|
|
como puedo hacer q mi JTextArea me imprima mas de un dato string datos string
Dudas Generales
|
alda19
|
1
|
5,693
|
15 Junio 2011, 03:18 am
por Novlucker
|
|
|
C# Quitar acentuación de String (Nueva duda)
.NET (C#, VB.NET, ASP)
|
n-utz
|
4
|
7,806
|
14 Julio 2017, 01:14 am
por Eleкtro
|
|
|
Quitar comillas de un string - python
Scripting
|
painpills
|
1
|
3,065
|
23 Junio 2021, 19:23 pm
por Danielㅤ
|
|