آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

تشخیص نوع خط فارسی و انگلیسی

شهابی  10 سال پیش  10 سال پیش
0 0

چطور میتونیم  وقتی کاربر داخل یک EditText  تایپ میکند تشخیص بدیم که این کاربر داره فارسی می نویسه یا انگلیسی !

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
زهرا رئیسی  10 سال پیش
+2 0

    private boolean checkEnglish(String string) {
Pattern p = Pattern.compile("[a-zA-Z]");
boolean hasSpecialChar = p.matcher(string).find();

return hasSpecialChar;

}

0 0
می خوام کارکتر به کارکتر بهفمم این فقط کارکتر اول متوجه میشی (10 سال پیش)
پاسخ به سوال 
Hamedmtn  10 سال پیش
+1 0


 search_edit.addTextChangedListener(newTextWatcher(){
@Override
publicvoid onTextChanged(CharSequence s,int start,int before,int count){


  InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
InputMethodSubtype ims = imm.getCurrentInputMethodSubtype();
String
locale = ims.getLocale();
Log.i("input_lang" , locale);
//به اینصورت میتونید زبان رو تشخیص دهید }
@Override

public
void beforeTextChanged(CharSequence s,int start,int count,int after){
// TODO Auto-generated method stub

}

@Override

public
void afterTextChanged(Editable s){
// TODO Auto-generated method stub
}
}
);

 

0 0
نه این درست نیست با این متد فقط متوجه میشی که زبان گوشی چی هست نه اینکه کاربر داره فارسی مینویسه یا انگلیسی ! (10 سال پیش)
پاسخ به سوال 
هادی بی غم  10 سال پیش
+4 0

از این تابع استفاده کنید این کد مشخص میکنه متغییر رشته ای که بهش ارسال شده فارسی هست یا انگلیسی

 public static boolean isfarsi(String s){
finalPattern RTL_CHARACTERS =
Pattern.compile("[\u0600-\u06FF\u0750-\u077F\u0590-\u05FF\uFE70-\uFEFF]");
Matcher matcher = RTL_CHARACTERS.matcher(s);
if(matcher.find()){
return true;// فارسی
}

return false;// انگلیسی
}
+2 0
همون کد ی که براتون نوشتم رو تو onchangelistener استفاده کنید من همین کار رو میکنم جواب میده (10 سال پیش)
0 0
با این کد پاسخ گرفتم ، ممنون . (10 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .