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 ;)
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 ;)
Pierwsze co mi się nasuwa na myśl to wyrażenia regularne.
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);
}
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?
@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?
chce 123456 ;)
string number = string.Join("", "123ala.ma.wszy456i.ogórki".Where(c => char.IsDigit(c)));
string number = Regex.Replace("123ala.ma.wszy456i.ogórki", @"[^\d]", "");
Przykro mi ale nie działa...
Jeżeli obie linijki wkleiłaś do kodu jak ostatnia tępota to pewnie i nie działa...
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?
Jaki błąd?
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[]'
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())) });
Można prościej ;).
string number = new string(text.Where(c => char.IsDigit(c)).ToArray());
bardzo dziękuje :)