The selected answer does not work in my case with a mixed English and Hebrew string.
String fileName = "ףךלחףךלחץ.msg";
Pattern p = Pattern.compile("\\p{InHebrew}", Pattern.UNICODE_CASE);
System.out.println(p.matcher(fileName).matches());
Exit: false.
To check if a string contains Some Hebrew letters of the following code:
String fileName = "ףךלחףךלחץ.msg";
Pattern p = Pattern.compile("\\p{InHebrew}", Pattern.UNICODE_CASE);
Matcher m = null;
boolean hebrewDetected = false;
for (int i = 0; i < fileName.length() && !hebrewDetected; i++){
String letter = fileName.charAt(i) + "";
m = p.matcher(letter);
hebrewDetected = m.matches();
if (hebrewDetected){
break;
}
}
System.out.println("hebrewDetected=" + hebrewDetected );
Exit: true.
yurin source
share