yo estaba tratando de utilizar TextInfo.ToTitleCase
para convertir algunos nombres para el caso apropiado. funciona bien para cadenas en minúsculas y mayúsculas y minúsculas, pero para cadenas con todos los caracteres en mayúsculas, devuelve la cadena de entrada como está.
No se menciona nada acerca de este comportamiento en la documentación de MSDN, alguna información?TextInfo.ToTitleCase no funciona como se esperaba para todos los casquillos cadenas
Respuesta
Desde MSDN docs:
Observaciones En general, la carcasa del título convierte el primer carácter de una palabra en mayúsculas y el resto de los caracteres en minúsculas. Sin embargo, , este método no proporciona actualmente una carcasa adecuada para convertir una palabra que está completamente en mayúscula, como el acrónimo. La siguiente tabla muestra la forma en que el método representa varias cadenas.
por lo que se espera un comportamiento. Primero puede minúsculas su cadena si todo está en mayúsculas, luego ejecute ToTitleCase en ella.
Sospecho que es porque se espera que las palabras en todas las mayúsculas sean abreviaturas como USA.
Por ejemplo, no se puede esperar "Terremoto golpea EE.UU." para cambiar a "sismo sacude USA" ¿verdad?
Eso es un error entonces. Unicode especifica "EE. UU." -> "Estados Unidos". Editar: OK, no es un error, como se menciona en los documentos, pero es un comportamiento sorprendente. – leppie
La documentación de MSDN dice:
En general, la carcasa del título convierte el primer carácter de una palabra en mayúsculas y el resto de los caracteres en minúsculas. Sin embargo, una palabra que está completamente en mayúsculas, como un acrónimo, no se convierte.
Por lo tanto, funciona según lo previsto. Trate TextInfo.ToTitleCase(TextInfo.ToLowerCase("STRINGINCAPS")
como:
string TitleCaseString;
TextInfo myTI = new CultureInfo("en-US",false).TextInfo;
TitleCaseString = myTI.ToTitleCase(myTI.ToLowerCase("STRINGINCAPS"));
Debo añadir la redacción modificada en .net 3.5, y no es tan claro sobre este hecho. – Kobi
- 1. Cadenas de concatenación no funciona como se esperaba
- 2. PHP is_int no funciona como se esperaba
- 3. __pospostback no funciona como se esperaba
- 4. ToDictionary no funciona como se esperaba
- 5. SmartGit pull no funciona como se esperaba
- 6. consulta SQL no funciona como se esperaba
- 7. TagBuilder.MergeAttributes no funciona como se esperaba
- 8. C# Destructor no funciona como se esperaba
- 9. DateTime.AddDays() no funciona como se esperaba
- 10. Combobox SelectedItem no funciona como se esperaba
- 11. Python .sort() no funciona como se esperaba
- 12. de accesibilidad no funciona como se esperaba
- 13. java.util.BitSet - set() no funciona como se esperaba
- 14. os.path.isfile no funciona como se esperaba
- 15. android: layout_gravity no funciona como se esperaba
- 16. Autowiring Map no funciona como se esperaba
- 17. Time.use_zone no funciona como se esperaba
- 18. : first-child no funciona como se esperaba
- 19. Switch-Case para cadenas en Javascript no funciona como se esperaba
- 20. TransiciónDibujado como fondo en TextView no funciona como se esperaba
- 21. Backbone JS Routing no funciona como esperaba
- 22. Mongo {$ ne: null} no funciona como se esperaba
- 23. jQuery fadeOut/fadeIn no funciona como se esperaba?
- 24. google dfp pubads(). Refresh() no funciona como se esperaba
- 25. Altura de ventana = "Auto" no funciona como se esperaba
- 26. UIScrollView funciona como se esperaba, pero scrollRectToVisible: no hace nada
- 27. El decodificador UTF-16 no funciona como se esperaba
- 28. jQuery UI droppable - tolerancia/codicioso no funciona como se esperaba
- 29. Zend headScript() y appendFile no funciona como se esperaba
- 30. Read.CSV no funciona como se esperaba en R
Tienes razón, me lo perdí al leer la documentación. –
@Nims - En su defensa tardía, los documentos [actuales] no dicen que ToTitleCase no hará sentadillas hasta el límite. Mi primera impresión fue que * no ignoraría * todas las mayúsculas y titularía el caso de todos modos. Whoops. 'textInfo.ToTitleCase (strAllCaps.ToLower())' es. – ruffin
La documentación actual también dice "Nos reservamos el derecho de hacer que esta API sea más lenta en el futuro". ¡Me encanta Microsoft! (: – chessofnerd