usuwanie liter ze stringa

0

Witajcie
Mam stringa:

string przykładowy = "123alama.kota";

i Teraz na siłę go przerobić na liczbę tak żeby wyłuskać z tego stringa same liczby
czyli w tym przypadku 123
Proszę o pomoc ;)

0

Pierwsze co mi się nasuwa na myśl to wyrażenia regularne.

0

Japier... Wyłuskać? Wyrzucić tak by zostały same literki czy mają zostać same cyfry?

Najprostszy i najbardziej zrozumiały sposób to przelecenie całego stringa znak po znaku i sprawdzanie czy jest cyfrą lub nią nie jest jeśli tak to coś.

 string sample = "123alama.kota";
            Console.Write("Cyfry w stringu: ");
            foreach (char c in sample)
            {
                if (char.IsDigit(c))
                    Console.Write(", {0}", c);
            }
0
marta1995 napisał(a):

Witajcie

A zatem witamy!

i Teraz na siłę go przerobić na liczbę tak żeby wyłuskać z tego stringa same liczby
czyli w tym przypadku 123

W tym stringu jest jedna liczba 123 oraz trzy cyfry: 1,2,3. Co w końcu chcesz osiągnąć? Czy liczba/cyfry zawsze są na początku napisu?

0

@marta1995, w temacie wątku wypowiadaj się w postach, nie komentarzach.

A jeśli string będzie miał postać 123ala.ma.wszy456i.ogórki, to co chcesz uzyskać? Jedną liczbę 123456, czy dwie liczby: 123 i 456?

0

chce 123456 ;)

2
string number = string.Join("", "123ala.ma.wszy456i.ogórki".Where(c => char.IsDigit(c)));
string number = Regex.Replace("123ala.ma.wszy456i.ogórki", @"[^\d]", "");
0

Przykro mi ale nie działa...

0

Jeżeli obie linijki wkleiłaś do kodu jak ostatnia tępota to pewnie i nie działa...

0

dzięki za podsumowanie...
akurat na tyle znam C# ze nie można dwa razy zadeklarować tej samej zmiennej

wywala się z pierwszej linijce, złe argumenty?

0

Jaki błąd?

0

Error 1 The best overloaded method match for 'string.Join(string, string[])' has some invalid arguments

Error 2 Argument 2: cannot convert from 'System.Collections.Generic.IEnumerable<char>' to 'string[]'

0

Ten sposób zadziała w .net 4.0, ty pewnie korzystasz z 3.5, a tam metoda Join jest troszkę okrojona. To powinno zadziałać w 3.5, ale głowy nie daję:

string number = string.Join("", new string[] { new string(("123ala.ma.wszy456i.ogórki".Where(c => char.IsDigit(c)).ToArray())) });
0

Można prościej ;).

string number = new string(text.Where(c => char.IsDigit(c)).ToArray());
0

bardzo dziękuje :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1