IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Michael Švrček
Neregistrovaný
Avatar
Michael Švrček:14.2.2014 6:56

Ahoj chci se zeptat jak použít REPLACE tak aby to udělalo více znaků jak jeden třeba když napíšu : "ABC" tak z toho vytvori "123" mne to zatim funguje tak ze to z toho udela "AB3" Děkuju za rady..

 
Odpovědět
14.2.2014 6:56
Avatar
Odpovídá na
Michal Žůrek - misaz:14.2.2014 7:26

Přetížená metoda bere stringy.

 
Nahoru Odpovědět
14.2.2014 7:26
Avatar
khoudy54
Člen
Avatar
khoudy54:14.2.2014 9:09

Omlouvám se nebyl jsem přihlášený a nevložil jsem kod takže tady to je

textbox2.text = textbox1.text.replace("A", "1")
textbox2.text = textbox1.text.replace("B", "2")
textbox2.text = textbox1.text.replace("C", "3")

(je to jen ukázka)

EDIT: úprava zdojáku

Editováno 14.2.2014 9:10
 
Nahoru Odpovědět
14.2.2014 9:09
Avatar
Odpovídá na khoudy54
Jakub Lásko[Saarix]:14.2.2014 13:17

Ty postupně přepisuješ ten samý string a proto ti ve výsledku zůstane jen poslední operace.
Udělej ty replace operace zvlášt na 1 proměnné typu string a pak ji pouze dej do textbox2.

string text = textbox1.text;

text = text.replace("A", "1");
atd...

textbox2.text = text;
Nahoru Odpovědět
14.2.2014 13:17
Časem je vše možné.
Avatar
1Pupik1989
Neregistrovaný
Avatar
1Pupik1989:14.2.2014 14:18

Nebo můžeš využít callbacku.

var text = 'ABC ABC BCA';

text = text.replace(/A|B|C/g,function(m){
  return ('ABC').indexOf(m);
});
 
Nahoru Odpovědět
14.2.2014 14:18
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na
Jan Vargovský:14.2.2014 15:32
internal static class Program
{
    [STAThread]
    private static void Main(string[] args)
    {
        string s = "devbook";

        Console.WriteLine(s);
        s = s.Replace(new char[] { 'd', 'o' }, new char[] { 'D', 'O' });
        Console.WriteLine(s);

        List<KeyValuePair<char, char>> replaceChars = new List<KeyValuePair<char, char>>();
        replaceChars.Add( new KeyValuePair<char,char>('D', 'd'));
        replaceChars.Add(new KeyValuePair<char, char>('O', 'o'));

        s = s.Replace(replaceChars);
        Console.WriteLine(s);
    }
}

public static class StringExtensions
{
    public static string Replace(this string s, char[] oldChar, char[] newChar)
    {
        if(oldChar.Length != newChar.Length)
            throw new ArgumentException("Different sizes of replace characters");

        StringBuilder sb = new StringBuilder(s);

        for (int i = 0; i < oldChar.Length; i++)
            sb.Replace(oldChar[i], newChar[i]);

        return sb.ToString();
    }

    public static string Replace(this string s, List<KeyValuePair<char, char>> chars)
    {
        StringBuilder sb = new StringBuilder(s);

        for (int i = 0; i < chars.Count; i++)
            sb.Replace(chars[i].Key, chars[i].Value);

        return sb.ToString();
    }
}

nebo kdyžtak úplně klasicky, ale bude to asi zdlouhavé to psát

string s = "devbook".Replace('A', '1').Replace('B', '2').Replace('C', '3');
Editováno 14.2.2014 15:34
 
Nahoru Odpovědět
14.2.2014 15:32
Avatar
khoudy54
Člen
Avatar
Odpovídá na Jakub Lásko[Saarix]
khoudy54:14.2.2014 15:54

Děkuju všem co odepsali na konec mi nevíce pomohl příspěvek od: Jakub[Saarix]

Editováno 14.2.2014 15:54
 
Nahoru Odpovědět
14.2.2014 15:54
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.