PDA

View Full Version : نیاز به متد



adib_opensource
چهارشنبه 26 تیر 1387, 20:16 عصر
با سلام
من یک آرایه رشته ای دارم که در آن کلمات و فاصله هایی (space )وجود دارد من می خواهم این فاصله ها را از بین ببرم و آرایه از کلمات باشد و اندیس ها نیز اصلاح گردند مثلاً i am adib
اگر فاصله ها حذف شود اندیس کلمه ادیب هم 3 شود یعنی space هایی که بصورت خالی رها شدند و کلمه ای جای آنها نیست زاید محسوب می شوند آیا متد آماده ای هست ؟
راهی را به من پیشنهاد کنید

a_mzadeh
چهارشنبه 26 تیر 1387, 22:13 عصر
سلام، فكر كنم كارت راه بيفته.



string str = "i am abid";
string result = "";
string[] array = str.Split(' ');
for (int i = 0; i < array.Length; i++)
{
result += array[i];
}

mohammad272005
پنج شنبه 27 تیر 1387, 01:54 صبح
گمونم دنبال strig.Slip() می گردید.

adib_opensource
پنج شنبه 27 تیر 1387, 07:58 صبح
من عمل split را انجام دادم و کلمات و فاصله های زاید (جاهایی که مثلاً 2 فاصله رد شده ) را داخل آرایه ریختم حالا این آرایه هم کبمه توش هست هم فاصله می خواهم فاصله ها را پاک کنم و کلمات بصورت پشت سر هم در ارایه قرار بگیرند

a_mzadeh
پنج شنبه 27 تیر 1387, 09:24 صبح
سلام، اين تابع تمام فضاهاي خالي رو حذف ميكنه، اميدوارم كارت راه بيفته:



string RemoveSpaces(string input)
{
string result = "";
for (int i = 0; i < input.Length; i++)
{
if (input[i] != ' ')
result += input[i];
}
return result;
}

adib_opensource
پنج شنبه 27 تیر 1387, 10:21 صبح
دوست عزیر ممنون از کمکت ولی من می خوام عناصر دوباره در یک آرایه قرار بگیرند در واقع اندیس آرایه شماره کلمه را نشون میده تو میریزی تو یک رشته

a_mzadeh
پنج شنبه 27 تیر 1387, 12:06 عصر
دوست عزیر ممنون از کمکت ولی من می خوام عناصر دوباره در یک آرایه قرار بگیرند در واقع اندیس آرایه شماره کلمه را نشون میده تو میریزی تو یک رشته

سلام دوست عزيز، ظاهرا من سوال شما رو درست متوجه نشده بودم، عذر مي خوام.
ظاهرا شما يك آرايه لازم دارين كه هر انديس اون مربوط به يك كلمه باشه، اگر اينطور هست چرا از يك آرايه از رشته ها استفاده نميكني؟ يك آرايه كه هر عنصرش يك رشته هست. اون وقت هر عنصر از اين آرايه يك كلمه هستش كه انديسش به اون اشاره ميكنه. با استفاده از همون متدهاي قبلي ميشه خيلي راحت يك همچين چيزي رو نوشت.
(اميدوارم اين دفعه منظور شما رو متوجه شده باشم :چشمک:)



List<string> RemoveSpaces(string input)
{
List<string> result = new List<string>();
string[] tmp = input.Split(' ');
foreach (string str in tmp)
{
if (str.Trim().Length != 0)
result.Add(str.Trim());
}
return result;
} // you can now access to each word by index: result[i] is word ith

morva14
پنج شنبه 27 تیر 1387, 13:13 عصر
فکر کنم این کارت و راه بی انداز...



public void ClearSpace(string[] str)
{
string[] result = new string[str.LongLength];
int i = 0;
foreach (string s in str)
{
if (s == " ") continue;
result[i] = s;
i++;
}

}

adib_opensource
پنج شنبه 27 تیر 1387, 14:59 عصر
تا حدود زیادی کارم راه افتاد ممنون