On Monday, June 4, 2018 at 12:45:23 PM UTC+2, Arjen Markus wrote:
> On Monday, June 4, 2018 at 10:25:11 AM UTC+2, Andreas Otto wrote:
> > # cut the prefix from a string
> > set prefix [regsub {^Mq[[:upper:]][[:lower:]]+} $name]
>
> set suffix [regsub {^Mq[[:upper:]][[:lower:]]+(.*)} $name {\1}]
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferAppendC>, prefix3<AppendC>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCastTo>, prefix3<CastTo>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCmp>, prefix3<Cmp>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCopy>, prefix3<Copy>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreate>, prefix3<Create>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateB>, prefix3<CreateB>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateC>, prefix3<CreateC>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateD>, prefix3<CreateD>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateF>, prefix3<CreateF>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateI>, prefix3<CreateI>,
> funcDEF -> prefix<MqBuffer>, prefix2<MqBufferCreateO>, prefix3<CreateO>,
>
> → only the "prefix"… the FIRST one give the right results…
I am not perfectly sure whether you want to fetch or cut the prefix ...
> set prefix [regsub {^Mq[[:upper:]][[:lower:]]+} $name]
You either copied the wrong thing here - or you received a "wrong # args" error...
set suffix [regsub {^Mq[[:upper:]][[:lower:]]+} $name ""] ;# replace the prefix with the empty string
set prefix [regexp -inline {^Mq[[:upper:]][[:lower:]]+} $name] ;# is empty if no match
if {[regexp {^Mq[[:upper:]][[:lower:]]+} $name prefix]} {
# work with prefix
}