flex actionscript-3 air flex3

flex - Cambiar un carácter en una cadena usando Actionscript



actionscript-3 air (4)

Hay muchas maneras de despellejar a este gato. Una, fuera de mi cabeza, involucraría a String.substr:

var Str:String="Hello World" var newStr:String = Str.substr(0,5) + "_" + Str.substr(6);

o, lo mismo que arriba, pero más generalizado:

function setCharAt(str:String, char:String,index:int):String { return str.substr(0,index) + char + str.substr(index + 1); }

¿Qué es lo opuesto a String.charAt() ?

Si tengo una cadena:

var Str:String="Hello World";

¿Cómo cambio el quinto carácter, por ejemplo, de un '''' a un ''_''?

Puedo OBTENER el quinto personaje así:

var C:String=Str.charAt(5);

¿Pero cómo configuro el quinto personaje?

Gracias por adelantado.


no puedes establecer ningún caracter Las cadenas en ECMAScript (incluido ActionScript) son inmutables. Una cosa que puede hacer es construir una nueva cadena que contenga los caracteres deseados, como se propone aquí.

Sin embargo, si planea modificar mucho la cadena, lo mejor es tener una matriz de caracteres, que puede mutar a voluntad. Cuando necesite imprimirlo, simplemente join a "" como separador.

greetz
back2dos


Esa respuesta fue de gran ayuda, pero creo que hay un camino más fácil. Supongamos que quiere reemplazar el 4 ° carácter de una cuerda llamada B por la letra "w". Puedes usar

B = B.replace(B.charAt(4), "w");

Estoy usando flash cs4 con actionscript 3.0, si no funciona con alguien, házmelo saber. Si hay una manera aún mejor de hacerlo, házmelo saber también.


//Replacing "/" with "-" var str:String = "he/ll/o" str = str.split("/").join("-"); //str = he-ll-o