Maintenant, il passe par 2 caractères par chaîne, par exemple, la chaîne 1215 sera remplacée par ab. Mais j'ai rencontré un problème : la fonction omet les caractères qui ne sont pas dans le tableau et omet le dernier caractère si la chaîne a un nombre impair de caractères. S'il vous plaît aidez à changer la fonction pour que la chaîne 1214153 soit remplacée par a14b3. Merci !
Aidez-moi à modifier la fonction pour que la ligne 1214153 soit remplacée par a14b3. Merci !
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
J'ai un peu retravaillé la fonction de remplacement des caractères des chaînes de caractères par des tableaux :
Je pense que tu deviens un peu fou. Si vous avez besoin d'une fonction de remplacement de sous-chaîne, vous pouvez utiliser cette option :
// функция ищет matched_text в строке text и заменяет его на replace_textstring StringReplace(string text, string matched_text, string replace_text)
{
int pos=StringFind(text,matched_text);
while(pos>=0)
{
if(pos==0) text = StringConcatenate(replace_text,StringSubstr(text,StringLen(matched_text)));
else text = StringConcatenate(StringSubstr(text,0,pos),replace_text,StringSubstr(text,pos+StringLen(matched_text)));
pos=StringFind(text,matched_text,pos+StringLen(replace_text));
}
return(text);
}
J'ai un peu modifié la fin, je n'ai pas immédiatement remarqué la fonction de boucle.
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
Oh, désolé, je n'avais pas remarqué, alors disons 1217153 à a17b3, à propos de la parité - ajouter des zéros est bien, pouvez-vous le faire ? ou omettre le dernier caractère, je pensais que ce n'était pas important.
Lians: Oh, désolé, je n'avais pas remarqué, alors disons 1217153 sur a17b3, à propos de la parité - l'option d'ajouter des zéros fonctionnerait, pouvez-vous le faire ?
J'ai réécrit la fonction de remplacement des chaînes de caractères avec des tableaux :
string StrReplaceTwo(string text){
string textMod[] ={""};
string symbols1[] = {"12","15","19","13","14","16"};
string symbols2[] = {"a","b","c","d","e","f"};
string textNew="";
int textLen = StringLen(text);
for (int i1=0; i1<textLen; i1=i1+2)
{
string TwoSymbols = StringSubstr(text,i1,2);
for (int i2=0; i2<ArraySize(symbols1); i2++)
{
if (symbols1[i2]==TwoSymbols) {textNew = textNew + symbols2[ i2 ] ; i2=ArraySize(symbols1) ; }
}
}
return (textNew);
}
Maintenant, il passe par 2 caractères par chaîne, par exemple, la chaîne 1215 sera remplacée par ab. Mais j'ai rencontré un problème : la fonction omet les caractères qui ne sont pas dans le tableau et omet le dernier caractère si la chaîne a un nombre impair de caractères. S'il vous plaît aidez à changer la fonction pour que la chaîne 1214153 soit remplacée par a14b3. Merci !
Aidez-moi à modifier la fonction pour que la ligne 1214153 soit remplacée par a14b3. Merci !
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
J'ai un peu retravaillé la fonction de remplacement des caractères des chaînes de caractères par des tableaux :
Je pense que tu deviens un peu fou. Si vous avez besoin d'une fonction de remplacement de sous-chaîne, vous pouvez utiliser cette option :
J'ai un peu modifié la fin, je n'ai pas immédiatement remarqué la fonction de boucle.
Je ne comprends pas la logique, vous avez 14 dans le tableau, c'est-à-dire qu'il devrait être remplacé par "e". Vous pouvez jouer avec la parité, mais il est préférable d'ajouter des zéros, c'est-à-dire de remplacer 3 par 03.
Je pense que tu deviens un peu fou. Si vous avez besoin de la fonction de remplacement des sous-chaînes, vous pouvez utiliser cette option :
Lians:
Oh, désolé, je n'avais pas remarqué, alors disons 1217153 sur a17b3, à propos de la parité - l'option d'ajouter des zéros fonctionnerait, pouvez-vous le faire ?
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
if(x) textNew +=StrToInteger(TwoSymbols);C'est comme ça : '+=' - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
Voici ce qu'il dit : "+=" - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?
Il ne fonctionne pas pour les chaînes de caractères dans MQL4.
Merci, mais je n'arrive pas à le compiler, il se bloque sur une chaîne de caractères :
il est écrit : '+=' - les deux opérandes doivent être numériques.
Comment puis-je le réparer ?