Accent character problem
M8R-yfto6h at mailinator.com
Fri Jun 20 16:32:39 CEST 2008
"Sallu" <praveen.sunsetpoint at gmail.com> wrote in message
news:faf4b0f2-1492-48bf-91d5-f6e0d19619ed at t12g2000prg.googlegroups.com...
> Hi all and one
> i wrote this script, working fine without fail( just run it)
> import re
> value='This is Praveen'
> print value
> #value = 'riché gerry'
> #words=str(value.split()).strip('').replace(', ', '') ( here i tried
> to convert in to list and then back to string)
> #print words
> print "Valid"
> print "Not allowed special characters"
> Output 1: (Fair)
> This is Praveen
> but when i change the value like
> value='éhis is Praveen'
> Output 2:(Fair)
> éhis is Praveen
> Not allowed special characters
> (because i wanted to check out the ascent(é) character so its working
> fine no issue)
> but when i give ascent(é) character in middle like
> value='This és Praveen'
> Output 3:(not fair)
> This és Praveen
> even it have ascent character it should display message "Not allowed
> special characters"
> Please help me out.
The match function only matches the pattern at the start of a string. Use
search instead. Printing the results of a successful match will help you
debug the problems also.
matchobj = richre.match(value)
print 'no match'
As written you will only get a successful match if your string starts with
a-zA-Z0-9, which is why #1 and #3 print 'Valid'.
You also should declare the encoding of the file and consider using Unicode
More information about the Python-list