PDA

View Full Version : استفاده از split



zarrin_306
یک شنبه 01 آبان 1384, 04:12 صبح
چطوری می توانم یک متن مثلا نام ونام خانوادگی که در یک textbox وارد میشود را با split کردن ان به دو قسمت
textbox1=نام
textbox2=نام خانوادگی
بشکنم

Behrouz_Rad
یک شنبه 01 آبان 1384, 07:21 صبح
Split با مشخص کردن یک کاراکتر به عنوان کاراکتر جداکننده ی کلمات، وظیفه ی خود را انجام می دهد.
در نام و نام خانوادگی این کار امکان پذیر نیست چون کاراکتر مبنا، کاراکتر Space است و از آنجا که ممکن است اسم و یا فامیل فردی از دو کلمه ی مجزا تشکیل شده باشد، این تابع نتیجه ی اشتباه را برگشت خواهد داد.
موفق باشید.

zarrin_306
دوشنبه 02 آبان 1384, 04:16 صبح
اگر ممکن است در مورد split که در بالا گفته ام یک مثال ساده ویا کد آنرا برایم در اینجا قرار دهید
البته کارکتر برای split ما در اینجا "-" میباشد

مطهر
دوشنبه 02 آبان 1384, 10:19 صبح
Dim delimiter As Char() = New Char() {"-"c, ","c}
Dim words As String = TextBox1.Text
Dim split As String() = Nothing
split = words.Split(delimiter)
Dim s As String
For Each s In split
ListBox1.Items.Add(s)
Next s

majid325
پنج شنبه 06 مهر 1385, 08:35 صبح
سلام:
دوستان میدونم که تاریخ تایپیک خیلی قدیمی است ...
من با نمونه کدی که شما اینجا قرار داده بودین یک تکس باکس که حدود 1000 خط است را با کاراکتر " " از هم جدا کردم و هر کلمه را داخل یک سلول گرید ریختم ,ولی چند تا مشکل دارم!
1- در گرید من با شرط if گفتم اگر ستونها تمام شد برو ستون بعدی . ولی سر ستون اول که میرسه خطا میگیره.
2- مثلا دو کلمه را در سلول مورد نظر میزاره , ولی کلمه سوم را با چند تا سلول فاصله در جای خودش قرار میده.
این کد من :

Dim delimiter As Char() = New Char() {" "c, ","c}
Dim words As String = TextBox1.Text
Dim split As String() = Nothing
split = words.Split(delimiter)
Dim s As String
Dim x, y As Integer
x = 0
y = 0
For Each s In split
ListBox1.Items.Add(s)
DataGridView1.Item(x, y).Value = s
x = x + 1
If x = 8 Then
y = y + 1
x = 0
End If
Next s

majid325
جمعه 07 مهر 1385, 16:46 عصر
کسی نمیدونه مشکل چی هست؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

اَرژنگ
شنبه 08 مهر 1385, 06:25 صبح
سلام:
دوستان میدونم که تاریخ تایپیک خیلی قدیمی است ...
من با نمونه کدی که شما اینجا قرار داده بودین یک تکس باکس که حدود 1000 خط است را با کاراکتر " " از هم جدا کردم و هر کلمه را داخل یک سلول گرید ریختم ,ولی چند تا مشکل دارم!
1- در گرید من با شرط if گفتم اگر ستونها تمام شد برو ستون بعدی . ولی سر ستون اول که میرسه خطا میگیره.
2- مثلا دو کلمه را در سلول مورد نظر میزاره , ولی کلمه سوم را با چند تا سلول فاصله در جای خودش قرار میده.
این کد من :

Dim delimiter As Char() = New Char() {" "c, ","c}
Dim words As String = TextBox1.Text
Dim split As String() = Nothing
split = words.Split(delimiter)
Dim s As String
Dim x, y As Integer
x = 0
y = 0
For Each s In split
ListBox1.Items.Add(s)
DataGridView1.Item(x, y).Value = s
x = x + 1
If x = 8 Then
y = y + 1
x = 0
End If
Next s

۱) این را با هیچ چیزه دیگری امتحان کردید، با یک داده دیگر امتحان کنید ببینید کار میکنه.
۲) مثال داده ای را که کار نمیکنه هم بدید، بدون بیان کردن کامل، جواب دادن ممکن نیست،

majid325
یک شنبه 09 مهر 1385, 21:59 عصر
این نمونه فایل txt است که من اون را در برنامه ام میخوام استفاده کنم.