That is fine. To explain why the second value fails is because it has an apostrophe character '
. Same with the succeeding strings. They have either '
, -
, .
, ''
(2 single apostrophes)
To fix this, you just have to add the allowable characters in your check.
bool ISheb = StrToVerify.All(c => (c >= 0x0580 && c <= 0x05ff)
|| c == '.' //add this
|| c == '-' //add this
|| c == '\'' //add this
|| c == ' '); //add this