come sostituire / inserire un carattere tra virgolette doppie di una stringaCarissimi,
Ho una stringa come questa.
Sai come sostituire i caratteri tra virgolette doppie di una stringa
Per esempio
0 " Y=" 1 " Id=" U33 "> ==> Predefinito1 " Y=" Predefinito2 " Id=" Predefinito3 ">
Cordiali saluti
SceneggiaturaRe: come sostituire/inserire un carattere tra virgolette di una stringaSostituisci (o sostituisci in) è un'opzione. Ricorda solo di usare il carattere di escape per le virgolette doppie.
Names Default To Here(1);
str = "\[<UNIT x="0" y="1" id="U33">]\";
result = "\[<UNIT x="Default1" y="Default2" id="Default3">]\";
new_str = Substitute(str, "\!"0\!"", "\!"Default1\!"", "\!"1\!"", "\!"Default2\!"", "\!"U33\!"", "\!"Default3\!"");
result == new_str;</UNIT></UNIT>
Re: come sostituire/inserire un carattere tra virgolette di una stringaDate le specifiche della stringa di esempio
La funzione effettiva replace() può essere semplificata in
Substitute(str, "0", "Default1", "1", "Default2", "U33", "Default3");
Re: come sostituire/inserire un carattere tra virgolette di una stringaCiao Jthi,
Funziona!
Stessa domanda, ma questa volta come potrei sostituire i caratteri in una stringa con una variabile
Per esempio:
Default1, Default2 e Default3 sono ora variabili e il loro valore verrebbe modificato
result = "\[<UNIT x="Default1" y="Default2" id="Default3">]\";</UNIT>
Re: come sostituire/inserire un carattere tra virgolette di una stringaFatto ! grazie mille
Re: come sostituire/inserire un carattere tra virgolette di una stringaEcco un esempio in cui il primo elemento viene sostituito da un valore di variabili
Names Default To Here(1);
str = "\[<UNIT x="__one__" y="1" id="U33">]\";
sub1 = "theSub1";
mySub = Substitute(str,expr(__one__), sub1, "Default2", "U33", "Default3");</UNIT>
Re: come sostituire/inserire un carattere tra virgolette di una stringaPenso che abbastanza raramente dovresti prima aggiungere nomi di variabili alla stringa e quindi iniziare a sostituirli con i valori, ma potresti farlo con Eval Insert.
L'opzione migliore sarebbe quella di aggiungere direttamente quei valori lì. L'esempio seguente ha entrambe le opzioni, prima aggiunge ¤Default1¤ e così via e le sostituisce usando Eval Inserisci in (vedi indice di scripting), poi usa l'array associativo. L'array associativo utilizza le stringhe che devono essere sostituite poiché le chiavi e i valori sono i nuovi valori (utilizzerei la seconda opzione).
Names Default To Here(1);
str = "\[<UNIT x="0" y="1" id="U33">]\";
new_str = Substitute(str, "\!"0\!"", "\!"¤Default1¤\!"", "\!"1\!"", "\!"¤Default2¤\!"", "\!"U33\!"", "\!"¤Default3¤\!"");
Default1 = "test1";
Default2 = "test2";
Default3 = "test3";
Write("Eval Insert into: \!N");
Eval Insert Into(new_str, "¤");
Write(new_str);
Write("\!N\!NAssociative Array:\!N");
aa_replace = Associative Array();
aa_replace["\!"0\!""] = "\!"test1\!"";
aa_replace["\!"1\!""] = "\!"test2\!"";
aa_replace["\!"U33\!""] = "\!"test3\!"";
new_str2 = Substitute(str, aa_replace << get keys, aa_replace << get values);
write(new_str2);</UNIT>Re: come sostituire/inserire un carattere tra virgolette di una stringaSe conosci il tag iniziale (in questo caso, "ak:Unit"), puoi usarlo Analizza XML() :
Names Default To Here( 1 );
ex = "\[<UNIT x="0" y="1" id="U33">]\";
Parse XML( ex,
On Element( "ak:Unit", Start Tag( xml = XML Attr() ) ),
);
xml << Remove( "" );
default 1 = "new X";
default 2 = "new Y";
default 3 = "new Id";
new vals = [=>];
new vals["X"] = default 1;
new vals["Y"] = default 2;
new vals["Id"] = default 3;
new string = "<UNIT>";
Write( new string )</UNIT></UNIT>