Foros del Web » Programación para mayores de 30 ;) » Java »

eliminar caracteres de una palabra

Estas en el tema de eliminar caracteres de una palabra en el foro de Java en Foros del Web. Hola a todos mecesito saber como puedo eliminar el caracter dos puntos (:) de una linea que solo contiene palabras mayusculas, es decir si tengo ...
  #1 (permalink)  
Antiguo 28/05/2013, 04:58
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
eliminar caracteres de una palabra

Hola a todos


mecesito saber como puedo eliminar el caracter dos puntos (:) de una linea que solo contiene palabras mayusculas, es decir

si tengo la linea

HOLA QUE TAL:

quiero saber como puedo hacer que quede asi

HOLA QUE TAL

probe con la funcion replace de string pero no me sale como quiero ya que las palabras suelen variar su longitud


muchas gracias

saludos
  #2 (permalink)  
Antiguo 28/05/2013, 05:32
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: eliminar caracteres de una palabra

String texto = "HOLA QUE TAL:";
System.out.println("Antes de reemplazar - " + texto);
texto = texto.replaceAll(":","");
System.out.println("Después de reemplazar - " + texto);

Si ves que no te lo hace correctamente prueba a escapar los ":" => texto = texto.replaceAll("\:","");
Hay ciertos caracteres que no los reconoce si no están escapados.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 28/05/2013, 09:24
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

gracias perfecto, funciona a la perfeccion pero ahora me surge otra duda, como podria hacer para copiar en un string que contiene un texto texto a partir de un caracter

es decir tengo una variable x que tiene un texto mas o menos asi +

JSADHFJ
adsfjsfasdf
-fasdfasdfasdfsadf
asdfasdfasdf
asfdsadf
-asdfasdf
ASDFASDF

mi idea es que una vez reconoce el caractter - copie todos los caracteres hasta que encuentre una palabra mayuscula o otro -

como podria hacer??
  #4 (permalink)  
Antiguo 28/05/2013, 09:59
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: eliminar caracteres de una palabra

Sobre tu segunda "petición", no me he enterado de nada.
  #5 (permalink)  
Antiguo 28/05/2013, 10:31
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

lo explico mas detalladamente sino igual queda un poco lioso,

tengo lo siguiente, en una variable(llamada toString) de tipo String, almaceno un texto bastante grande, por razones de perdida de caracteres y tal no puedo almacenar el texto en un txt.

la estructura del texto es de la siguiente manera:

ADMINISTRACIÓN CENTRAL:
CAPITANÍA MARÍTIMA MARTE.
-NOTIFICACIÓN REGULACION SANCION DE LA
DIRECCIÓN GENERAL DE LA REAL ACADEMIA 4
CONFEDERACIÓN HIDROA DEL JCR VLNC.
-AUTORIZACIÓN DE VRTO DE AS RELES EN EL
T.M. DE EL PLE NU DE BENILL (ALAN) 4
SERVICIO PICO DE EEO ESTAL.
-NOIÓN INFNES CON SUSPENN, REVÓN
O EXTINCIÓN DE PRESTACIONES POR DESEMPLEO 4
SUBDELEGACIÓN DEL GOBIERNO
COMUNIDAD VALNA ALTE.
-NOACIONES PTAS DE REIÓN EXPTES. SANCIES 5
-NOCIÓN REIÓN EXPEDIENTES SANCORES 5
-NOES ACU DE INICIACIÓN EXPTES. SANRES 6


la idea es que tengo que coger y guardar en un array las lineas que empiezan con el guion .


tengo el siguiente codigo pero estoy atascado y no doy avanzado


Código Java:
Ver original
  1. toString += stripper.getTextForRegion("area1");
  2.                
  3.                 String guion = "-";
  4.                 ArrayList<String> subtitulos = new ArrayList<String>();
  5.                 int puntero = 0;
  6.                
  7.                 for (int j = 0; j < toString.length(); j++) {
  8.                    
  9.                     if(toString.charAt(j) == guion.charAt(0)) {
  10.                        
  11.                         //subtitulos.add(toString.substring(j++,  ))
  12.                     }
  13.                 }

mi idea es que una vez encuentra el guion copio con substring desde el numero en el que encuentra el guion hasta que encuentre otro guion pero no doy resuelto saber cual es la siguiente posicion en la que hay gion

si alguien me puede ayudar le estare agradecido
  #6 (permalink)  
Antiguo 28/05/2013, 16:25
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: eliminar caracteres de una palabra

http://docs.oracle.com/javase/6/docs...va.lang.String)

Prueba a leer algún tutorial básico de java y a consultar las APIs de lo objetos básicos.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 29/05/2013, 01:56
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

me lei entera la documentacion y sigo sin ver como puedo hacer lo que quiero, la complejidad de lo que quiero hacer radica en que la variable string es muy larga, no pido que me lo solucioneis ni mucho menos pero que me deis las pautas o consejos de como podria abrodar el problema
  #8 (permalink)  
Antiguo 29/05/2013, 02:08
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: eliminar caracteres de una palabra

Pues no te la has leído entera si no has visto que split te permite generar un array de Strings en función del separador que indiques, en tu caso el guión.

Y de complejidad 0, estamos hablando de lo básico de lo básico.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #9 (permalink)  
Antiguo 29/05/2013, 10:30
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

usando la clase tokenizer, hay alguna manera de recuperar el token anterior estando en un token dado, es decir

Código PHP:
Ver original
  1. StringTokenizer tokenEspacio = new StringTokenizer(tk ,"\n");
  2.                    
  3.     while ( tokenEspacio.hasMoreTokens() ) {
  4.         String token = (String) tokenEspacio.nextToken();
  5.                // String tokenAnteior = token anterior

por lo que estuve viendo tokenizer solo tiene el metodo nextToken(), y me interesaria poder coger el token anteior tambien

puede ser esto posible¿
  #10 (permalink)  
Antiguo 29/05/2013, 11:04
 
Fecha de Ingreso: abril-2013
Ubicación: Guadalajara
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Respuesta: eliminar caracteres de una palabra

Prueba con esto:
Supongamos que ya tienes todos los datos en la variable cadena
Código Java:
Ver original
  1. String cadena;
  2.    String datos[];
  3.    datos = cadena.split("-");
Esto te devuelve un arreglo con todos los datos divididos mediante el caracter que metas dentro del split.
Espero y te sirva Saludos.
  #11 (permalink)  
Antiguo 30/05/2013, 01:24
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

estuve leyendo que split reconoce expresiones regulares, podria pasarle como parametros una expresion regular de tal modo que me divida en arrays en funcion de si encuentra un determinado patron como por ejemplo un punto seguido de un espacio y a continuacion un numero?

Código Java:
Ver original
  1. String datos[];
  2.                 datos = toString.split(".\n[0-9]");


podria ser asi?
  #12 (permalink)  
Antiguo 30/05/2013, 02:13
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

la idea es, en un indice, que tiene el siguiente formato

Notificación de texto .................................................. ...................... 3
Notificación de texto2 .................................................. ...................... 31

ir cortando en strings en funcion de si encuentra o no encuentra el/los numeros del final, probe con la exprsion regular : "[0-9]+{2}" y em principio parecia que si que cortaba bien, pero tengo dos problemas, el primero es que si hay algun numero en la descripcion, es decir si por ejemplo el titulo (Notificación de texto2) contiene una fecha o numeros tambien los corta, supongo que con pulir un poco mas la expresion regular ya se solucionara

y el segundo es que cuando corta por el numero de pagina no muestra la pagina y lo ideal seria que dejara el numero de página también,

alguien puede darme alguna pista?

gracias
  #13 (permalink)  
Antiguo 30/05/2013, 02:35
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

probe varias cosas pero en algunas me da error de sintaxis y en otras lo hace mal

son las siguientes:

datos = toString.split("\.[0-9]+{2}"); -> esta me da error en el \.

datos = toString.split("(.)[0-9]+{2}"); ->no busca que tenga el punto, es decir lo ignora

datos = toString.split("(...)[0-9]+{2}"); -> lo mismo que para el caso anterior

datos = toString.split("(\.)(\s)[0-9]+{2}"); -> me da error en el \s me dice que no se puede usar, segun busque en internet \s es para espacio pero a mi me da error
  #14 (permalink)  
Antiguo 30/05/2013, 02:52
 
Fecha de Ingreso: marzo-2011
Mensajes: 226
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: eliminar caracteres de una palabra

vale fallo mio tenia que haber puesto \\. y \\s, tenia que poner dos barras en vez de una

lo malo es que asi no puedo saber los numero de pagina, asi que quite de la expresion regular los puntos, pero asi me pone el numero de pagina en la siguiente posicion, es decir

tengo el codigo asi :

Código Java:
Ver original
  1. String datos[];
  2.                 datos = toString.split("(\\.)(\\.)(\\.)(\\s)");
  3.                
  4.                 for (String string : datos) {
  5.                     System.out.println("----------");
  6.                     System.out.println(string);
  7.                 }

tenieno esto me aparece asi:

----------------------
Notificación de texto1 .................................................. ......................
----------------------
3
Notificación de texto2 .................................................. ......................
----------------------
31

el problema es que para notificaicon texto1, su pagina es la 3 y me aparece en la siguiente posicion del array, a alguien se le ocurre como puedo arreglarlo? o si se puede optimizar la expresion regular ?

Etiquetas: caracteres, palabra, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:11.