A: Quitamos el 1er 121: 121213121
Siguiente: 213121
Resultado final: 213
B: Debemos quitar:
esto: 121213121
y esto: 121213121
O sea: 121213121
Resultado final: 3
Hice algo parecido a esto, sólo sirve si la subcadena tiene 1 solo caracter (y en tal caso no hay ambiguedad):
Código
Cadena = "121213121"; CaracteraQuitar = "1"; // Cadena a la que se agregarán los caracteres que no deban quitarse: NuevaCadena = ""; PunteroDeCaracteres = -1; do { PunteroDeCaracteres++; CaracterSeñalado = Cadena.charat(PunteroDeCaracteres); // Si el caracter señalado no es como CaracteraQuitar: if (CaracterSeñalado != CaracteraQuitar) { // Agregarlo a NuevaCadena: NuevaCadena = NuevaCadena+CaracterSeñalado; } } while (PunteroDeCaracteres<Cadena.length); trace(NuevaCadena);
Intenté que elimine subcadenas de cualquier extensión, usando un método que me enseñaron, pero me tranqué:
Código
Cadena = "121213121"; CaracteraQuitar = "121"; // Ver si el CaracteraQuitar está en Cadena: // Esto es porque en este lenguaje... // no se puede quitar un caracter de modo simple: // De Cadena se quitará... // cada presencia del CaracteraQuitar: NuevaCadena = Cadena; do { SeQuitoCaracter = "No"; SaveDeNuevaCadena = NuevaCadena; // Obtener la cadena anterior a la presencia... // del CaracteraQuitar, si es que él está presente // (queda un array, join("") es para que se... // transforme en un string sin separaciones): NuevaCadena = NuevaCadena.split(CaracteraQuitar).join(""); // Obtener el resto de la cadena:
¿Se puede hacer A con este método o no? ¿y B?
Acabo de probarlo sin el do y al parecer sólo funciona si CaracteraQuitar es 1 caracter. El nombre debería ser SubcadenaaQuitar, pero es otro tema.
¿Debería intentarlo ajustando mi 1er código o hay una manera mejor?