Warum der Umstand mit 2 Agenten. Es reicht ein einziger.
Hier der Code. Habe es der Einfachheit halbe in einen Button gepackt. Kannst du ja leicht in deinen Agenten integrieren.
der Code prüft, ob der Suchstring im subject enthalten ist. Wenn nicht, dann wird subject verwendet; wenn vorhanden, dann findet der Umbau statt.
subject:="Re: [Ticket#2017101910000093] [Ticket ID: 19907] Testbetreff1";
@If ( @Contains(subject;"[Ticket ID:");
@Do (
TempSubject:=@If(@Contains(subject;"[Ticket ID:");
@Trim(@Right(subject;"[Ticket ID:"));
subject);
TicketNummer:= @Middle(TempSubject;0;6);
ReineTicketID:="[Ticket ID: " + TicketNummer + " ";
LinksVonTicketID:=@Trim(@Right(subject;ReineTicketID));
RechtsVonTicketID:=@Trim(@Left(subject;ReineTicketID));
subject:= ReineTicketID + RechtsVonTicketID + LinksVonTicketID
);"");
@Prompt([Ok];"";subject)
Und mit ein bisschen Optimierung kann man den Code noch reduzieren.
Das mindert die Gefahr, daß der Code nicht mehr funktioniert, wenn die übermittelte TicketID nicht 5 stellig ist.
subject:="Re: [Ticket#2017101910000093] [Ticket ID: 19907] Testbetreff1";
@If ( @Contains(subject;"[Ticket ID:");
@Do (
_tid:="[Ticket ID: " + @Word(@Right(subject;"[Ticket ID: ");"] ";1) + "] ";
subject:=@ReplaceSubstring(subject; _tid;"");
subject:= _tid + subject
);"");
@Prompt([Ok];"";subject)
Ich befürchte, du musst noch einen Agenten aufsetzen ;D
subject:="Re: [Ticket#2017101910000093] [Ticket ID: 19907] Testbetreff1";
_result:=@If ( @Contains(subject;"[Ticket ID:");
@Word(subject;"]";2) + "] " + @Word(subject;"]";1) + "]" + @Word(subject;"]";3) ;
subject);
@Prompt([Ok];"";@Trim(_result))