رفتن به مطلب
  • 0

تشخیص فاصله بین کلمات


majerajoo

سوال

سلام

من میخوام اگه یکی یه یوزر نیم وارد کرد مثلا amir ali بهش اخطار بدم که فاصله نباید داشته باشه یوزر نیم

چیکار باید بکنم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

5 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

سلام 

قبلا در امثال این مورد خیلی در انجمن بحث شده ... باید از دستور Regex.Matcher   در Sub EditText1_TextChanged  استفاده کنید . 

Sub EditText1_TextChanged (Old As String, New As String)  'وقتی متن تغییر کرد 
Dim new1 As String=New
Dim regex_new1() As String
 
Dim MatchEmail2 As Matcher = Regex.Matcher(" ", new1)
 

If MatchEmail2.Find = True Then
	  Log("جای خالی یافت شد")  
		'Return True
             regex_new1 = Regex.split(" ",new1)
				
                If new1.SubString2(new1.Length-1,new1.Length) =" " Then 
                 EditText1.Text=regex_new1(0)  'حذف جای خالی بطور خودکار	
                Else 	
                     EditText1.Text=regex_new1(0)& regex_new1(1)  'حذف جای خالی بطور خودکار
                End If 		 

                    'انتقال مکان کروسر ادیت تکست به آخر عبارت
                    If (EditText1.SelectionStart)=0 Then EditText1.SelectionStart=(EditText1.Text.Length)


 Else
        Log("جای خالی یافت نشد")  
		Log("new1: "&new1)
		'Return False
End If

End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، majerajoo گفته است :

سلام

من میخوام اگه یکی یه یوزر نیم وارد کرد مثلا amir ali بهش اخطار بدم که فاصله نباید داشته باشه یوزر نیم

چیکار باید بکنم

   If username.IndexOf(" ")=1 Then

   ToastMessageShow("Error")	

   End If

اینم یه جور چک کردن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، میلاد گفته است :

   If username.IndexOf(" ")=1 Then

   ToastMessageShow("Error")	

   End If

اینم یه جور چک کردن

ببخشید ولی ظاهرا واسه اینجا این جواب نمیده !این کد بالایی وقتی توی TextChanged قرار میگیره وقتی جای خالی بلافاصله بعدازتایپ کاراکتر نوشته میشه دیگه هیچ وقت برابر یک نخواهد شد! فقط وقتی برابر یک میشه که جای خالی رو بیایی مثلا بعدازحرف اول ایجادکنی واینم فایده نداره! نهایت می تونی کد رو اینجور مثل پایین به ( منفی یک ) تغییرش بدی اونم تازه یکبار مصرفه وفقط یکبار پیام ارور خواهد داد!. 

 If username.IndexOf(" ")<>-1 Then

   ToastMessageShow("Error",False)	
   Log (username.IndexOf(" "))

   End If

وقتی جای خالی رو در indexof قرار میدید ، اون محل جای خالی رو نشون میده که حرف چندمه! که در این مثال پایینی برابر حرف سومه

Dim username As String
 username ="ali mohammadi"
Log (username.IndexOf(" "))

'''' 3

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 10 ساعت قبل، نورنما گفته است :

سلام 

قبلا در امثال این مورد خیلی در انجمن بحث شده ... باید از دستور Regex.Matcher   در Sub EditText1_TextChanged  استفاده کنید . 


Sub EditText1_TextChanged (Old As String, New As String)  'وقتی متن تغییر کرد 
Dim new1 As String=New
Dim regex_new1() As String
 
Dim MatchEmail2 As Matcher = Regex.Matcher(" ", new1)
 

If MatchEmail2.Find = True Then
	  Log("جای خالی یافت شد")  
		'Return True
             regex_new1 = Regex.split(" ",new1)
				
                If new1.SubString2(new1.Length-1,new1.Length) =" " Then 
                 EditText1.Text=regex_new1(0)  'حذف جای خالی بطور خودکار	
                Else 	
                     EditText1.Text=regex_new1(0)& regex_new1(1)  'حذف جای خالی بطور خودکار
                End If 		 

			
 Else
        Log("جای خالی یافت نشد")  
		Log("new1: "&new1)
		'Return False
End If

End Sub

 

ممنون

این کار میکنه اما یه مشکلی داره اینکه وقتی  فاصله رو پاک میکنه کرسر میاد اول اون کلمه 

مثلا مینویسی amir بعد فاصله میدی میخواد دوباره بنویسه از قبل از a شروع میکنه به نوشتن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلامت باشید

این که یه مشکل دیگه است ،خب این سطر پایین رو به قسمت بعد ازحذف فواصل  خالی اضافه کنید اون مشکل هم رفع میشه .بالا هم اصلاح شد

 

'انتقال مکان کروسر ادیت تکست به آخر عبارت
If (EditText1.SelectionStart)=0 Then EditText1.SelectionStart=(EditText1.Text.Length)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...