View Full Version : سوال: جداکردن اعداد در یک رشته
mkk_ce
دوشنبه 26 تیر 1391, 14:02 عصر
سلام
من می خواهم اعداد داخل یک رشته رو که به هم چسبیدند رو خارج کنم
سعس کردم با استفاده از Regex این کار و انجام بدم اما نتونستم.
کسی از دوستان می تونه این کار رو انجام بده؟
مثال :
-5.821098e-02-5.820515e-02-5.819932e-02-5.819349e-02-5.818766e-02-5.818184e-02-5.817601e-02-5.817018e-02-5.816435e-02-5.815852e-02
ممنونم.
M.KH-SH
دوشنبه 26 تیر 1391, 14:16 عصر
دوست عزیز به این صورت استفاده کن:::
شما تمام اعداد رو داخل یک متغییر بریز و بعد از کد زیر استفاده کن
dim str as string="-5.821098e-02-5.820515e-02-5.819932e-02-5.819349e-02-5.818766e-02-5.818184e-02-5.817601e-02-5.817018e-02-5.816435e-02-5.815852e-02"
dim a() as string=str.split(new char() {"-"})
حالا تمام اعدادی که با علامت " - " از هم جدا شدن رو به صورت تفکیک شده در اختیار دارین که میتونین با یک متغییر تمام اونها رو به صورت تک تک نمایش بدین به این صورت:::
for i as integer=0 to a.length-1
listbox.items.add(a(i))
end for
اگه سئوالی بود و مشکل حل نشد خبر بده
mkk_ce
دوشنبه 26 تیر 1391, 14:24 عصر
از جوابتون ممنون. اما این رشته می تونه اولیش منفی نباشه و اگه هم باشه چیزی که شما نوشتید اینطوری جواب می ده :
5.821098e 02 5.820515e 02 5.819932e 02 5.819349e 02 5.818766e 02 5.818184e 02 5.817601e 02 5.817018e 02 5.816435e 02 5.815852e 02
مثال دیگه :
1.457082e-02 1.457678e-02 4.668483e-03-9.260070e-03-2.318881e-02-3.243645e-02-3.243049e-02-3.242454e-02-3.241858e-02-3.241263e-02
M.KH-SH
دوشنبه 26 تیر 1391, 14:37 عصر
روش همینه و شما باید ابتکار عمل به خرج بدین و بتونین با کدهای بازی کنین بعد خودتون به راحتی میتونین تفکیک کنین
فقط باید نقاط اشتراک رو پیدا کنین همین
mkk_ce
دوشنبه 26 تیر 1391, 15:52 عصر
من از این عبارت استفاده می کنم ولی فقط عدد اولی رو بر می گردونه!
Dim col() As String = Regex.Split(K, "\b(\+|-)[0-9]+(\.[0-9]+)(e[+-][0-9]+)+")
M.KH-SH
دوشنبه 26 تیر 1391, 18:29 عصر
خوب این روش اشتباه است شما قدم به قدم این کار رو انجام بده
یعنی اول کارکتر - رو جدا کنی و بعد از اون کارکتر = رو جدا کنی
این کار نیاز به حلقه داره
Saman_12
سه شنبه 27 تیر 1391, 00:35 صبح
از این عبارت استفاده کنید جواب میده :
\b(\+|-)?\d+(\.|)(\d*e?)
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.