elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Codigo que estraiga de una cadena las palabras que empiecen por otra cadena  (Leído 3,302 veces)
Javator

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
« en: 21 Febrero 2014, 23:04 pm »

Hola compañeros:

Estoy intentando hacer un codigo que estraiga de una cadena las palabras que empiecen por otra cadena.

Por ejemplo "casota,agua,casita,macarena" y en otra cadena "cas", pues que me saque casota y casita.

Hasta ahora tengo esto y no se como seguir  :-\

Código:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package javaapplication1;

/**
 *
 * @author JUSEF
 */
public class JavaApplication1 {

    /**
     * @param args the command line arguments
     * @return
     */
    public static void main(String[] args) {
        String cadena = "hola holita hooll macarena";
        String cad = "hol";
        String result = "";
        String espacio = "";
        int c = 0;
        for (int i=0; i < cad.length(); i++){
            if (cadena.charAt(i) == cad.charAt(i)){
                result += cadena.charAt(i);
            }else{
                break;
            }
        }
        System.out.println(result);
    }
    
}



Como sigo?? Se me ocurre que con un split o un substring contar hasta el espacio, (de ahi la variable espacio), una ayudita.


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
« Respuesta #1 en: 21 Febrero 2014, 23:16 pm »

Código
  1. //Autor: 1mpuls0
  2.  
  3. public class Extract {
  4.  
  5.    public static void main(String args[]) {
  6.        String string = "casota, agua, casita, macarena, casco";
  7.        String key = "cas";
  8.        String separator = ",";
  9.        String result = "";
  10.  
  11.        String[] array = string.split(",");
  12.  
  13.        for (int index = 0; index < array.length; index++) {
  14.            if(array[index].trim().startsWith(key)) {
  15.                result+=array[index]+separator;
  16.            }
  17.        }
  18.        System.out.println(result);
  19.    }
  20.  
  21. }
  22.  


« Última modificación: 3 Septiembre 2015, 19:10 pm por 1mpuls0 » En línea

abc
Javator

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
« Respuesta #2 en: 24 Febrero 2014, 22:11 pm »

Gracias Darhius, pero asi lo hice en clase y me lleve una colleja por hacerlo con arrays :-(

El tema es que tenemos que hacerlo sin arrays para practicar con substring, indexOf y charAt´s. De hecho luego tenemos que extraer fechas sin expresiones regulares tipo

ñafdjasñlfkg28/10/2009ñlgkfasfdgadsñfl21/12/2001asfdga

pretendiendo que cojamos las barras como "punto de parada" y cojamos -2 y +8.

Donde me lío es cuando se encuentra el prefijo, como adjunto el resto de letras, y como hago que siga leyendo.

Le he dado un millon de vueltas al for pero no doy con la forma.

Gracias nuevamente.
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
« Respuesta #3 en: 25 Febrero 2014, 01:05 am »

Ah! ps no dices! xD

Es lo único que se me ocurre :/ no me gusta mucho pero por el momento es funcional.

Código
  1. //Autor Darhius929
  2. String text = "casota, agua, casita, macarena, casco";
  3.        int countChar = 0;
  4.        char separator = ',';
  5.        String result = "";
  6.        String key = "cas";
  7.  
  8.        int index = 0;
  9.        do {
  10.          ++countChar;
  11.          ++index;
  12.          index = text.indexOf(separator, index);
  13.        } while (index != -1);
  14.  
  15.        index = 0;
  16.        int endIndex = 0;
  17.        for (int i = 0; i < countChar; i++) {
  18.          endIndex = text.indexOf(separator, index);
  19.          if (endIndex == -1) {
  20.              if(text.substring(index).trim().startsWith(key))
  21.            result+= text.substring(index);
  22.          }
  23.  
  24.          else {
  25.              if(text.substring(index, endIndex).trim().startsWith(key))
  26.                    result+= text.substring(index, endIndex);
  27.          }
  28.  
  29.          index = endIndex + 1;
  30.        }
  31.  
  32.        System.out.println(result);
  33.  
En línea

abc
Javator

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Codigo que estraiga de una cadena las palabras que empiecen por otra cadena
« Respuesta #4 en: 25 Febrero 2014, 17:09 pm »

Gracias Darhius, me pongo a juguetear con el para comprender bien como funciona cada segmento.

Otra vez, gracias. ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA URGENTE!!!!!!!!! Suma de Cadena de Caracteres o palabras
Ejercicios
pcvsoft 6 14,091 Último mensaje 4 Enero 2008, 18:56 pm
por BeatLord
contar palabras repetidas o cadena de caracteres
PHP
kanser 9 10,661 Último mensaje 21 Octubre 2011, 01:22 am
por kanser
[Resuelto] buscar la cadena '<?' dentro de otra cadena con javascript
Desarrollo Web
srccver 4 3,402 Último mensaje 9 Abril 2015, 20:52 pm
por srccver
guardar palabras de una cadena en arreglos
Programación C/C++
bobitttyy 4 2,516 Último mensaje 7 Junio 2015, 17:38 pm
por antoniognzle
Concatenar una cadena dentro de otra cadena (PHP)
Desarrollo Web
Leguim 1 1,808 Último mensaje 5 Febrero 2019, 02:47 am
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines