Forum Discussion
Rory_Hewitt_139
Jun 04, 2014Nimbostratus
Determining processing based on flags in a URL
I have a URL which will come in as
/features?features=10010001
where each '1' or '0' is a 'flag'. I need to check each flag in turn and depending on its value, XOR it with a matching flag s...
- Jun 04, 2014
that kinda works, except that the characters could potentially be 0, 1 or -
may we remove - before scanning?
% scan [string map {"-" ""} 10--01-00---01] %2d%2d%2d%2d a b c d 4 % put "$a $b $c $d" 10 1 0 1
by the way, if flag is only one digit each, can we use split?
% split [string map {"-" ""} 10--01-00---01] {} 1 0 0 1 0 0 0 1
nitass_89166
Noctilucent
what about scan or regexp?
scan
% scan 10010001 %2d%2d%2d%2d a b c d
4
% put "$a $b $c $d"
10 1 0 1
% time "scan 10010001 %2d%2d%2d%2d a b c d" 1000
5.319 microseconds per iteration
regexp
% regexp {(\d\d)(\d\d)(\d\d)(\d\d)} 10010001 m a b c d
1
% put "$a $b $c $d"
10 01 00 01
% time "regexp {(\d\d)(\d\d)(\d\d)(\d\d)} 10010001 m a b c d" 1000
3.077 microseconds per iteration
Rory_Hewitt_139
Jun 04, 2014Nimbostratus
Hey @nitass, that kinda works, except that the characters could potentially be 0, 1 or -, so I can't use %d in scan or \d in regex. I can use %c in scan, but it converts them to a Unicode integer. So for instance, scan $flags %c%c%c%c%c%c%c%c flag1 flag2 flag3 flag4 flag5 flag6 flag7 flag8 gives me "49 45 48 45 45 45 45 49". Any way to simply chop them out as single characters?
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects