Best way to find a string word is English / non English

what is the best way to find a word is English or non English. My problem is i have a paragraph with English and Arabic words, but the Arabic words are in reverse order. so I need to reverse the words only in Arabic.

Hi,
What I suggest is to find some English dictionary database. There are some when you google.
And check each word of your frase.

Regards,
Kris

I thought of first using dictionary method, but then the word can contain person name.

I would check the chr() value of characters.

See http://www.unicode.org/charts/

Arabic is between hex 0600-06FF, 08A0-08FF, FB50-F63F, FE70-FEFF.

You can use a regular expression to make this easier:

dim rxArabic as new RegEx
rxArabic.SearchPattern = "(?<=^|\\s)\\p{Arabic}+(?=$|\\s)"

dim match as RegExMatch = rxArabic.Search( s )
while match isa RegExMatch
  dim word as string = match.SubExpressionString( 0 )
  //
  // Do something with it
  //
  match = rxArabic.Search()
wend

To break this down, \\p{Arabic}+ identifies a series of Arabic characters as indicated by their Unicode code points. This is surrounded by a look-behind and look-ahead to make sure this series of characters occurs between the start of the line or whitespace and the end of the line or whitespace.