PDA

View Full Version : فیلتر رشته



Abbas Naghdi
دوشنبه 23 دی 1392, 02:39 صبح
سلام بچه ها

یا رشته دارم مثلا : "52ادذ585لذد56لات5"
چطور (55658552) رو فیلتر کنم ؟
به فرض اینکه نمیدونیم رشته چی داخلش هست !
یعنی فقط عدد ها رو در بیارم ؟

vahid-p
دوشنبه 23 دی 1392, 03:22 صبح
من با سینتکس C# زیاد آشنا نیستم، ولی این سوالتون برا هر زبانی که باشه راه حلش شبیه به همه.
شما یه رشته خالی تعریف میکنید. حالا با رشته ی ورودی ( "52ادذ585لذد56لات5" ) مثل یه آرایه برخورد میکنی و از اولین خونش شروع میکنی، اگر عدد بود به رشته خالی که از اول تعریف کردی اضافه میکنی.
هر عددی هم معادل کاراکتریش بین '0' , '9' است. پس کافیه یه شرط بذاری چک کنه.
اینم به زبان C# :
public static String filter(String s){
String newStr="";
for (int i = 0; i < s.Length; i++)
{
if (s[i] >= '0' && s[i] <= '9') newStr += s[i];
}
return newStr;
}

rahnema1
دوشنبه 23 دی 1392, 04:51 صبح
اینجوری هم میشه


using System.Text.RegularExpressions;
using System.Linq;

string mystring = "52ادذ585لذد56لات5";
string numbers=string
.Concat(Regex.Matches(mystring,@"\d+")
.Cast<Match>().Select(zz=>zz.Value));