Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Removing extra spaces and limiting input to A-Z, 1-0, an
Message
 
To
04/10/2006 13:32:08
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
01159441
Message ID:
01159461
Views:
18
This message has been marked as the solution to the initial question of the thread.
>>I am writing an applications where I want to:
>>
>>1. remvoe extra spaces between words, i.e. "xxx yyy" becomes "xxx yyy" and that the input is only A-Z and 0-9 (i.e. no specail characters)
>>
>>2. the input hast the format "xxx.yyy.ccc.etc) where "xxx", "yyy", "ccc", etc can only A-Z, 0-9, last character cannot be a period, and first character of "xxx", "yyy", "ccc", etc is A-Z.
>>
>>My questions are how to best remove the extra spaces and how check that only A-Z and 0-9 are entered.
>>
>>TIA
>
>Claude,
>
>For removing extra spaces, this should do the trick.
>
>cString = "xxx  yyy  zzz"
>cString = STRTRAN(cString,SPACE(2),SPACE(1),1,OCCURS(SPACE(2),cString))
>
>Regards,

Actually, this would only work if there was only a double space... not a triple or 4 spaces...
cString = "xxx     yyy         zzz"
do while at( "  ", cString ) > 0
  cString = strtran( cString, "  ", " " )
enddo 
As for stripping the other invalid characters you don't want to allow, I would pre-build a string of chars you DONT want, then use CHRTRAN() such as
lcInvalid = "`~!@#$%^&*()-_=+{}[]\|;:,<.>/?'" + '"'

cString = "xx@()x]  ]  ] y]yy@(*!$         zzz"
cString = chrtran( cString, lcInvalid, "" )
the CHRTRAN() will take the string, look for each character found in lcInvalid, and replace it with the character in the same position in parameter 3 (which empty will result in no character and thus cut out of the string).
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform