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

تشخیص حروف چسبیده فارسی در متن امکان پذیر است؟


علیرضا _امیراحمدی

سوال

سلام خوبید

دارم یه اموزش میسازم که بعد تشخیص هر حرف  میخوام صوت مخصوص خودش پخش کنم.

ولی 

چطور میشه در متن EditText  نوشته شده توسط کاربر تشخیص داد که کدوم حروف چسبده هستند؟

 چطور میشه در شرط if حرف قبل و بعد مثلا "ب" رو متوجه شد و بهمون اون دو حرف رو برگردونه؟یا بگه بعد و قبل "ب" هیچ حرفی نیست

 

(ممکنه چند بار از حالت های مختلف حرف "ب" در متن استفاده شده باشه)

 

من با یونیکد کار کردم برای حروفی مثل" ب ت ن " ؛ خوب تشخیص میده ولی همین حروف رو بصورت چسبیده نمیتونه بفهمه

ممنونم میشم اگه روشی بلد هستید بگید .ده روزه کد میزنم و مطلب از نت میخونم ولی بی نتیجه

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

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

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

در 10 ساعت قبل، علیرضا _امیراحمدی گفته است :

سلام خوبید

دارم یه اموزش میسازم که بعد تشخیص هر حرف  میخوام صوت مخصوص خودش پخش کنم.

ولی 

چطور میشه در متن EditText  نوشته شده توسط کاربر تشخیص داد که کدوم حروف چسبده هستند؟

 چطور میشه در شرط if حرف قبل و بعد مثلا "ب" رو متوجه شد و بهمون اون دو حرف رو برگردونه؟یا بگه بعد و قبل "ب" هیچ حرفی نیست

 

(ممکنه چند بار از حالت های مختلف حرف "ب" در متن استفاده شده باشه)

 

من با یونیکد کار کردم برای حروفی مثل" ب ت ن " ؛ خوب تشخیص میده ولی همین حروف رو بصورت چسبیده نمیتونه بفهمه

ممنونم میشم اگه روشی بلد هستید بگید .ده روزه کد میزنم و مطلب از نت میخونم ولی بی نتیجه

سلام 

نیاز به استفاده از چیز خاصی نیست 

با یه کد ساده میتونید چیزی که میخواید رو بدست بیارید 

نکته اول اینه که باید برای حرروف چسبان در نظر داشته باشید که وقتی چسبیده میشن که حرفی بعدش بیاد و اگر فاصله بیاد چسبان نیستند

خب من به صورت آبگوشتی یه کد نوشتم که حرف قبل و بعد از حرفی که میخواید رو براتون نشون میده همون چیزی که میخواستید 

نتیجه شد این 

نکته دوم اینکه میاد چک میکنه اگه حرف آخر بود فقط حرف قبلیشو برمیگردونه و اگر حرف اول بود فقط حرف بعدی رو نشون میده (که طبیعیه )

نکته شوم اینکه برای متن جدید یادتون باشه که لیست رو خالی کنید و مجددا  پر کنید 

منظورتون همین بود ؟!

Screenshot_8_.png

Dim str1 As String
	Dim list1 As List
	
	list1.Initialize
	str1 = "قلب آبی" 
	str1 = str1.Replace(" " , "#")
	Log(str1)


	For i = 0 To str1.Length -1
		 If(str1.CharAt(i)="ب") Then
		 	list1.Add(i)
		End If
		 
	Next

	For i = 0 To list1.Size-1
		Dim pos As Int 
		pos = list1.Get(i)

	
		If (pos > 0 And pos < str1.Length-1) Then
			
			Log("prew char is :" & str1.CharAt(pos -1)& CRLF & "next char is :" & str1.CharAt(pos+1) )
			
			Else if (pos = 0) Then
			Log( "next char is :"&str1.CharAt(i+1))
			Else If(pos = (str1.Length-1)) Then
			Log("prew char is:"&str1.CharAt(i-1))
		End If
		
	Next

ضمنا قبلش اومدم و جاهایی که فاصله بود رو با # جایگزین کردم 

میتونید شرط بزارید که اگه کارکتر شما # بود یعنی فاصله هست و طبیعتا حرف قبلش هم غیرچسبان میشه 

اینم سورس 

http://s8.picofile.com/file/8368476492/01.rar.html

یک سال بود B4A رو کنار گزاشته بودم 

نصبش کردم خخخخ

ولی همچنان اندروید استودیو رو انجام میدم 

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

در 31 دقیقه قبل، sbr گفته است :

سلام

ممنون خیلی لطف کردی. باش کار میکنم کار نکرد باز مزاحم میشم خخخخ

در 31 دقیقه قبل، sbr گفته است :

نصبش کردم خخخخ

 

بس کهه مردی دمت گرم:hi:

 

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

در 7 ساعت قبل، sbr گفته است :

Else If(pos = (str1.Length-1)) Then Log("prew char is:"&str1.CharAt(i-1))

سلام ببخش 

  مثلا  "قلب ابی" " قلب اب " بنویسم  

 وقتی مثلا حرف "ب "اخرین حرف میشه, میاد ق رو نشون میده 

بهم میگی انو چکار کنم ممنون

 

 

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

در 27 دقیقه قبل، علیرضا _امیراحمدی گفته است :

سلام ببخش 

  مثلا  "قلب ابی" " قلب اب " بنویسم  

 وقتی مثلا حرف "ب "اخرین حرف میشه, میاد ق رو نشون میده 

بهم میگی انو چکار کنم ممنون

 

 

 

 نه دوست عزیز دارید اشتباه میکنید احتمالا تغییرش دادید و اشتباه شده 

من همین الان همون متنی که گفتید رو تست کردم و نتیجه رو درست نشون داد 

Screenshot_9_.png

 

یه بار دیگه سورسی که دادم بهتون رو دانلود کنید و متن مورد نظرتون رو بزارید توش و نتیجه رو ببینید 

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

بایگانی شده

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

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

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