[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 166
  • Last Modified:

Check if char variable is in an array using a "set" type comparison

Hi all, I'm doing some "set type" comparisons in my app like this:

if h1 in ['0'..'9'] then....

Open in new window


.. where h1 is just a variable of char. No problem there, but I have a string array that contains a collection of punctuation characters ('!','#','.','?','%' etc) and I'm wondering if there's a comparable way (ie. using the "in" operator) to check if my variable h1 contains any of these characters. As in:

if h1 in PunctuationArray

Open in new window


... or something like that.

Thanks!
    Shawn
0
shawn857
Asked:
shawn857
1 Solution
 
Rgonzo1971Commented:
Hi,

have you tried AnsiMatchStr or MatchStr

source := 'Henry';  
 if AnsiMatchStr(source, ['Brian', 'Jim', 'Henry'])
  then ShowMessage('First match was successful')
  else ShowMessage('First match was not successful');


http://www.delphibasics.co.uk/RTL.asp?Name=AnsiMatchStr

Regards
0
 
mlmccCommented:
So if h1 is a string   and your set is like above ['!','#','.','?','%', ',' ] you want to see if any of the punctuation characters are in the string, h1?

So if h1 = "Peter and Paul" the answer is false but if it is "Peter, Paul, and Mary" it is true.

In that case code like this should find it

Haschar := False;
For I := 0  to High(YourArray) 
    If POS(YourArray[I], h1) then
       Haschar := True;

Open in new window

mlmcc
0
 
Sinisa VukCommented:
Similar to upper example - iterate your array and instead of pos (which can check only one char in time)
use function CheckString from this question: Q_28229176
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
shawn857Author Commented:
Thanks to all who responded.

Cheers
   Shawn
0
 
mlmccCommented:
How does that answer the issue or did I not understand your question?

mlmcc
0
 
shawn857Author Commented:
Hi mlmcc... you were looking at it backwards I think. Variable h1 contains just one character, and I want to see if that character is contained anywhere in the set ['!','#','.','?','%', ',' ]

Thanks for contributing though...

Cheers
   Shawn
0

Featured Post

Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now