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.