Detect Hebrew letters in strings

I am trying to write code that changes the files with Hebrew letters in them into valid English names, but I have problems understanding how to detect these files, I created a filter for the listfiles function.

I also searched the Internet and I could not find the answer, but this one:

How to determine if a string contains Hebrew characters using PHP?

but its not java, its php. any ideas?

+4
source share
4 answers
Pattern p = Pattern.compile("\\p{InHebrew}");
Matcher m = p.matcher(input);
+2
source

, . : \\p{Hebrew} true, .

+2

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());  //false

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 ); //true

Exit: true.

+2
source

To verify that a String contains Hebrew letters, use:

str.matches (". * [א-ת] +. *")

returns true if str contains Hebrew letters.

+2
source

Source: https://habr.com/ru/post/1524654/


All Articles