• Viernes 8 de Noviembre de 2024, 09:50

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - KAOZ23

Páginas: [1]
1
Java / Re: Buscar Un Uppercase En String
« en: Sábado 16 de Febrero de 2008, 21:09 »
Solucionado (Codigo incluido):

Código: Text
  1.             for (int j = 0; j < arraylistaDeTiposDeAtributosDelVO.size(); j++)
  2.               {
  3.                 String cadenaOriginal = "";
  4.                 String cadena1 = "";
  5.                 String cadena2 = "";
  6.  
  7.                 cadenaOriginal = arraylistaDeTiposDeAtributosDelVO.get(j).toString();
  8.                 int inicioConversion = 0;
  9.                 int iMayusculasEncontradas = 0;
  10.                 String sGuionBajo = "_";
  11.                 for (int k = 0; k < cadenaOriginal.length(); k++)
  12.                   {
  13.                     char miChar = cadenaOriginal.charAt(k);
  14.  
  15.                     if (Character.isUpperCase(miChar))
  16.                       {
  17.                         String miChar2 = Character.toString(miChar);
  18.                         String miChar3 = sGuionBajo + miChar2;
  19.                        
  20.                         cadena1 = cadenaOriginal.substring(inicioConversion, k + 1);
  21.                        
  22.  
  23.                       
  24.  
  25.                         //Eliminamos el character en Uppercase y los sustituimos por _caracter en uppercase
  26.                         int iCorte = cadena1.length() - 1;
  27.                     
  28.                         cadena1 = cadena1.substring(0, iCorte);
  29.                         cadena1 = cadena1 + miChar3;
  30.                         //cadena1 = cadena1.replaceFirst(miChar2, miChar3); //Da problemas si hay dos uppercase del mismo miChar
  31.                         //                        
  32.                         //Si es la primera conversion
  33.                         if (inicioConversion > 0)
  34.                           {
  35.                             cadena2 = cadena2 + cadena1.substring(1);
  36.                           }
  37.                         else
  38.                           {
  39.                             cadena2 = cadena2 + cadena1;
  40.                           }
  41.                         inicioConversion = k;
  42.                         iMayusculasEncontradas++;
  43.  
  44.                       }
  45.                   }
  46.  
  47. /**La cadena queda truncada justo despues de la ultima uppercase.
  48. Ejemplo. miCasa queda como mi_C
  49. Esto sirve para rellenar el trozo de cadena que falta***/
  50.                 if (cadena2.length() - iMayusculasEncontradas != cadenaOriginal.length() && iMayusculasEncontradas != 0)
  51.                   {
  52.                     String cadenaAAnyadir = cadenaOriginal.substring(
  53.                         cadenaOriginal.length() - iMayusculasEncontradas
  54.                             - (cadenaOriginal.length() - cadena2.length())).toUpperCase();
  55.                     cadena2 = (cadena2 + cadenaAAnyadir);
  56.  
  57.                   }
  58.                 /**Si no tiene mayusculas usamos el mismo nombre en mayusculas**/
  59.                 if (iMayusculasEncontradas == 0)
  60.                   {
  61.                     cadena2 = cadenaOriginal.toUpperCase();
  62.                   }
  63.  
  64.                 arrayDeCadenas.add(cadenaOriginal + "|" + cadena2.toUpperCase());
  65.               }
  66.  
  67.  
  68.           }
  69.  

2
Java / Buscar Un Uppercase En String
« en: Miércoles 13 de Febrero de 2008, 01:58 »
****Solucionado, ver el post 3*****

Buenas a todos:
Escribo aqui para ver si alguien me puede orientar, ya qu estoy muy cerca, pero me falta algun paso

Tengo cadenas de caracteres String en un ArrayList. Las cadenas son del tipo miCasa, enUnPaisMulticolor....(en realidad son atributos de un objeto),
y necesito, debido a la metrica, pasarlos a mayusculas, con la siguiente nomenclatura:

MI_CASA, EN_UN_PAIS_MULTICOLOR....


Ya he encontrado la forma de averiguar donde están las mayusculas, de la siguiente manera:
Código: Text
  1.  
  2. for (int i= 0; i < listaDefinicionesAtributos.size(); i++)
  3.         {
  4.     char[] cadenaOriginal = listaDefinicionesAtributos.get(i).toString().toCharArray();
  5. boolean esMayuscula = false;
  6.           
  7. for (int kk = 0; kk < cadenaOriginal.length; kk++)
  8. {
  9. char michar = cadenaOriginal[kk];
  10. if (Character.isLowerCase(michar))
  11.   {
  12.             esMayuscula = true;
  13. pepito = listaDefinicionesAtributos.get(i).toString().lastIndexOf(michar);
  14.   continue;
  15.   }
  16.             
  17. }
  18.           
  19. if (esMayuscula)
  20. {
  21.             System.out.println(listaDefinicionesAtributos.get(i).toString() + " " + " "+ "pepito " + pepito);
  22.   }
  23.  
  24.  

Ahora solo me falta como saber las posiciones de las mayusculas.

He probado con
Código: Text
  1.  
  2. int juanito = listaDefinicionesAtributos.get(kk).toString().indexOf(michar);
  3.  
  4.  
pero no me devuelve las posiciones que necesito.....alguna ayudita?

He buscado, pero no encuentro nada parecido, solo el caso en el que hay una sola mayuscula en el String....

Páginas: [1]