بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
تشخیص نوع خط فارسی و انگلیسی
چطور میتونیم وقتی کاربر داخل یک 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;
}
پاسخ به سوال
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
publicvoid beforeTextChanged(CharSequence s,int start,int count,int after){
// TODO Auto-generated method stub
}
@Override
publicvoid afterTextChanged(Editable s){
// TODO Auto-generated method stub
}
}
);
پاسخ به سوال
هادی بی غم
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;// انگلیسی
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .