Dave
2008-Jul-22 23:00 UTC
Re: How to detect if a string contains any funny characters from non English alphabets
Well I looked at the API and thought that str.each_char {} might work, but it''s not recognized in my version of Ruby (1.8.6 on Ubuntu) so that seems to be a dead end. Here''s an ugly hack that works though: def nonroman_test(str) if nonroman(str) then puts "#{str} has nonroman characters!" else puts "#{str} does not have nonroman characters!" end end def nonroman (str) (/^[\w\s!@#\$%\^\\&*()\]\[,.?]*$/ =~ str) == nil end nonroman_test("abc") nonroman_test("abcᴚ") nonroman(str) return true if the string contains any characters besides letters, digits, whitespace, and the following: !@#$%^&*() [],.? You can alter the regular expression to change what is allows. Just add any additional allowed characters before the final ] on the line in nonroman(). Some characters may need to have a \ in front of them to work. Hope that helps! Regards, David Alves On Jul 22, 2:04 pm, Chris Nowlan <chrisn...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hello! > > I have a specific problem that maybe you can help with. > > Given an input of string (up to 1000 characters), how do I detect if > the string is not written in "Roman Alphabets (A-Z)", and by that I mean > that the string maybe in Chinese, Korean, or contain non-standard > English or western language alphabets, etc. > > I just need a function that will return "True" or "False". > > Thanks in advance! > > -Chris--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---